标签: session-variables

$ _SESSION等于数据库中的值?

当一个人登录我的网站时,我需要检查数据库中的roleid值,并依赖于我需要允许/拒绝访问页面.

我有这个代码,但它说$ _SESION变量'Access'是未定义的,我不明白为什么?

            $email = mysql_real_escape_string($_POST['email']);
            $password = md5(mysql_real_escape_string($_POST['password']));

            $checklogin = mysql_query("SELECT * FROM person WHERE email = '" . $email . "' AND password2 = '" . $password . "'");

            if (mysql_num_rows($checklogin) == 1) {
                $row = mysql_fetch_array($checklogin);
                $roleid = $row['roleid'];

                $_SESSION['Email'] = $email;
                $_SESSION['LoggedIn'] = 1;
                $_SESSION['Access'] = $roleid;

                echo "<h1>Success</h1>";
                echo "<p>We are now redirecting you to the member area.</p>";
                echo "<meta http-equiv='refresh' content='2;index.php' />";
            } 

            else {
                echo "<h1>Error</h1>";
                echo "<p>Sorry, your account could not be …
Run Code Online (Sandbox Code Playgroud)

php session-variables

0
推荐指数
1
解决办法
1701
查看次数

从会话PHP中获取价值

我不确定为什么会话中没有返回变量用户名.当用户登录时,我启动会话:

$username = trim($_POST['username']);
if(!isset($_SESSION)){ session_start(); }
$_SESSION[$this->GetLoginSessionVar()] = $username;
Run Code Online (Sandbox Code Playgroud)

在用户的欢迎页面上,当我运行echo命令时,我看到正在返回的正确变量.但我不确定为什么return语句不起作用.我的PHP文件中有以下内容:

function UserName()
{

    return  isset($_SESSION['name_of_user']) ? $_SESSION['name_of_user'] : "Unknown User" ;
    //echo $_SESSION['name_of_user'];
}
Run Code Online (Sandbox Code Playgroud)

在我的HTML中,我有:

Welcome back <?PHP $fgmembersite->UserName(); ?>!
Run Code Online (Sandbox Code Playgroud)

我还检查了会话ID,它也正在生成.你能帮我理解我做错了什么吗?

php session session-variables sessionid

0
推荐指数
1
解决办法
7694
查看次数

用户可以访问$ _SESSION变量吗?

我为受密码保护的页面制作了用户身份验证脚本.

在我的脚本的第一个版本中,我首先检查用户名和密码是否与数据库中的用户名和密码匹配,如果是,请设置$ _SESSION ['user_connected']变量以及$ _COOKIE ['user_connected']变量真正.我的index.php文件是通过验证是否设置了$ _COOKIE ['user_connected']来启动的,然后绕过数据库检查是否为true.

然后我意识到用户可以访问cookie,有人可以在访问网站之前将$ _COOKIE ['user_connected']设置为TRUE,然后就会出现混乱.但是$ _SESSION变量怎么样?如果用户已连接,我可以安全地使用它们来检查整个网站吗?

tl; dr:用户可以修改$ _SESSION变量吗?

php session-variables

0
推荐指数
2
解决办法
123
查看次数

PHP:如何在一个页面上使用会话,而另一个带有会话的页面正在加载

我正在使用 CURL 从外部 url 下载一个大文件并将其保存在我的服务器上。这可能需要几分钟的时间。下载运行时,我使用curl_setopt($ch, CURLOPT_PROGRESSFUNCTION,.. 运行匿名函数,该函数定期使用当前下载信息更新我的 $_SESSION['download_progress'] 变量。

现在,所有这些都发生在 upload.php 文件中,当用户等待文件下载时,我使用 javascript 请求 Progress.php 页面,其中包含以下简单代码:

session_start();
echo $_SESSION['download_progress'];
Run Code Online (Sandbox Code Playgroud)

这允许我的 JavaScript 代码显示有关下载进度的信息。

除非它不起作用。

在“upload.php”完成加载之前,“progress.php”页面不会加载(换句话说,两个页面仅在文件下载完成后才加载),这不好。session_start() 以某种方式阻止“progress.php”页面加载。我使用自己的服务器(apache + php 5.4),所以我拥有所有管理权限。

我怎么解决这个问题?我可以使用一些丑陋的解决方法,例如将下载信息写入文本文件而不是会话变量,然后使用 javascript 直接读取该文本文件,但我宁愿不这样做。

谢谢

php curl session-variables progress

0
推荐指数
1
解决办法
1376
查看次数

Node.js变量仅用于当前请求?

我是Node.js的新手,我想知道除了session()之外,我是否可以使用"存储"来存储当前请求的变量?

我有一个基于Authorization标头的API,以及一个存储在Redis中的有效标记池.

因此,我没有会议,也不想.

但是我希望在此请求期间存储变量以供进一步使用.例如,我想存储与Redis中找到的令牌相对应的user_id,以便我可以在任何我想要的地方使用它.

如果我这样做:

app = express(); app.user_id = 1;

没关系,或者我的user_id会变成全局应用程序处理的所有请求吗?(简而言之:是为服务器处理的每个请求实例化的app,还是持久的?)

如果这不行,我怎么能在没有会话的情况下实现这样的目标呢?

感谢您的任何帮助 :)

session session-variables node.js

0
推荐指数
1
解决办法
1002
查看次数

Slim框架3 $ _SESSION变量

是否有可能在Slim v3中使用PHP会话?如果没有,什么是好的替代品?如果我可以使用它们,我应该将index_start()放在index.php或文件中我使用$ _SESSION变量?

谢谢你:D

php session-variables slim

0
推荐指数
1
解决办法
9702
查看次数

PHP 会话变量在 MacOS Mojave 上的 Firefox 63.0、Safari 12.0 和 iOS 12.0.1 上的 Safari 中丢失

Mac 和 Windows 上最新的 Firefox 63.0 版本以某种方式破坏了我为电子商务网站的管理后端构建的登录。这以前工作得很好。我使用 PHP。

使用有效凭据成功登录后,$_SESSION['admin_logged_in']变量将被设置为TRUE,并且我已正确登录并重定向到起始页面。然而,当我尝试导航到管理站点中的任何其他页面时,我会立即注销,就好像会话变量突然丢失一样。

在最开始的每个页面(包括起始页面)上,我都包含一个简短的登录检查脚本,如下所示:

<?php
//start session
session_start() ;
//check user is logged in
if (($_SESSION['admin_logged_in'] !== TRUE) || (!isset($_SESSION['admin_logged_in']))) {
    header("location: /index.php") ;
    $_SESSION['admin_reason'] = "illegal" ;
    exit;
    }
?>
Run Code Online (Sandbox Code Playgroud)

我可能认为这是 Firefox 的一个错误,但最近我也被 iOS 12 和 MacOS Mojave 上最新版本的 Safari 注销了,通常是在浏览几个页面后。

目前在 Opera 或 Chrome 上工作且没有问题(在 Mac 上测试)。

我尝试过清除 Firefox 中的缓存并调整隐私设置,但没有成功。我已经与我的网络主机交谈过,他们不知道任何服务器端问题或更改。

但是,如果 PHP 代码和会话变量存在问题,因为这是在服务器端处理的,那么它可能无法在任何浏览器上运行,并且以前也无法运行?

感谢您的任何建议。


我设法解决了这个问题,请参阅下面的答案。

php safari favicon firefox session-variables

0
推荐指数
1
解决办法
2372
查看次数

如何在XPage中存储IBM Notes数据库对象变量并稍后访问

我正在尝试将(Javascript IBM Notes)数据库对象存储在变量onPageLoad中,以便稍后在代码中进行访问。我尝试设置viewScope和sessionScope变量,但是它们似乎总是返回null。

onPageLoad:

var db_rooms: NotesDatabase = session.getDatabase(session.createName(doc_ProfileConfig.getItemValueString("ServerNA")).getCommon(), doc_ProfileConfig.getItemValueString("FilePathTX"));

viewScope.put("ResroomDb", db_rooms);
Run Code Online (Sandbox Code Playgroud)

我使用db_rooms来获取onPageLoad数据,因此我知道它是有效的数据库对象。

现在稍后,当我尝试再次获取数据库时:

 var db:NotesDatabase = viewScope.get("ResroomDb");
Run Code Online (Sandbox Code Playgroud)

这样做会导致无法加载(状态500)。

我同时尝试了Session和ViewScope,是否可能将数据库对象存储在Application范围内/一个好主意,因为它只有一个页面应用程序?

javascript ajax session-variables xpages xpages-ssjs

0
推荐指数
1
解决办法
45
查看次数

源代码中的JavaScript代码不反映实际执行的代码

我的javascript代码看起来像它应该的那样工作.但是,当我在Chrome中查看"来源"时,它不同意实际执行的javascript.

这是我的代码:

<?php
    $_SESSION['new'] = "blue";
    if (!isset($_SESSION['old'])) { $_SESSION['old'] = "blue"; }
        echo '<script type="text/javascript">
            $(document).ready(function() {
                changeCol("'.$_SESSION["old"].'","'.$_SESSION["new"].'");
            });
          </script>';
    $_SESSION['old'] = "blue";
?>    
Run Code Online (Sandbox Code Playgroud)

$_SESSION['old']="green"来自上一页.代码应该调用changeCol("green","blue"),然后设置$_SESSION['old']="blue".

事实上,这两件事都发生了,所以我的代码就像它的设计一样工作,如果我查看源代码,它会说changeCol("blue","blue").这很奇怪,因为如果在changeCol()中我将传递的变量写入console.log,我得到green, blue.

所以如果它在调用changeCol(green,blue)为什么它changeCol(blue,blue)在我查看源代码时会说?

javascript php jquery session-variables

-1
推荐指数
1
解决办法
198
查看次数

会话变量未显示在其他页面中

我在menu.php中使用两个网页我无法获得会话变量的详细信息,它将显示未定义的索引.

Controller.php这样

    $info = mysql_fetch_array( $data );  
   session_start();
   // store session data
   $type="$info[TYPE]";
   $no="$info[NO]";

   $_SESSION['type']=$type;
   $_SESSION['no']=$no;
   echo "Pageviews=". $_SESSION['type'];
   echo "Pageviews=". $_SESSION['no'];
   header('Location:menu.php');
Run Code Online (Sandbox Code Playgroud)

menu.php

    <?php sesstion_start();
     echo "Pageviews=". $_SESSION['type'];
    echo "Pageviews=". $_SESSION['no'];
    ?>
Run Code Online (Sandbox Code Playgroud)

html php session session-variables

-1
推荐指数
1
解决办法
646
查看次数