【问题标题】:SESSION not remembered phpSESSION 不记得 php
【发布时间】:2023-04-05 00:32:02
【问题描述】:

我遇到了一个问题,即当您链接到另一个页面时,我的会话变量不会被记住。这听起来可能有点奇怪。为了澄清一点,我将用一些代码解释我的问题:

此代码是来自“Login.php”的 sn-p。在这里,我为 Email 和 wachtwoord(Password) 设置了 SESSION 变量。

$query = "SELECT * FROM user WHERE Email='$email' AND Wachtwoord='$Wachtwoord'";

$result = mysqli_query($connection, $query) or 
die(mysqli_error($connection));
$count = mysqli_num_rows($result);
if ($count == 1){
    session_start();
    $_SESSION['email'] = $email;
    $_SESSION['wachtwoord'] = $Wachtwoord;


$sql = "UPDATE user SET Ingelogd = 1 WHERE Email='$email'";
$ressql = mysqli_query($connection, $sql) or 
die(mysqli_error($connection));

}else{
    echo "Invalid Login Credentials.";
}

在这个 sn-p 中,电子邮件和 wachtwoord 会话设置正确(我相信,因为我可以回显这些并获得正确的输出)

但是当用户被重定向到包含这个php代码的chat.php时(间接地,这个代码在'LoginCheck.php'中。链接到:Include('../Php/LoginCheck.php');):

Include('connect.php');
//IF ((! $_SESSION['email']= NULL)&&(! $_SESSION['wachtwoord']=NULL)){
    $email = $_SESSION['email'];
    echo $_SESSION['email'];
    $Wachtwoord = $_SESSION['wachtwoord'];
    echo $_SESSION['wachtwoord'];
    echo 'something';

$sql = "SELECT * FROM user WHERE Email='$email' and Wachtwoord='$Wachtwoord' and Ingelogd=1";
$result = mysqli_query($connection,$sql) or die(mysqli_error($connection));
$count = mysqli_num_rows($result);
if (!$count == 1){
 //header('Location: Login.php');   
}
//}

当 php 尝试使用 SESSION var 做某事时,它会给出以下错误: 未定义变量:第 4 行 F:\xampp\htdocs\Chives-Functional\Php\LoginCheck.php 中的 _SESSION 声明 $email 的行。

我要检查的是用户是否仍然登录。 我怎样才能让它工作?我究竟做错了什么?为什么不记得了? 提前致谢,感谢您的帮助!

亲切的问候,

附言。如果需要更多信息,请随时询问!

【问题讨论】:

  • 您需要在每个页面上调用session_start();
  • 你打电话给session_start()了吗?
  • 在 LoginCheck 的开头添加session_start()。它开始或恢复会话。
  • 你是对的,对不起,我不知道
  • 您的查询不安全。它容易受到 SQL 注入的攻击。您应该考虑使用mysqli_real_escape_string 转义查询变量

标签: php mysql session


【解决方案1】:

您是否确保在每个页面的顶部开始会话?

session_start();

【讨论】:

    猜你喜欢
    • 2012-04-29
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 2019-01-13
    • 1970-01-01
    • 2016-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多