会话不记得php

时间:2015-01-27 19:59:54

标签: php mysql session

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

此代码是来自' Login.php'的代码段。在这里,我为电子邮件和wachtwoord(密码)设置了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.";
}

在这个片段中,电子邮件和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。

我想检查的是用户是否仍然登录。 我怎样才能让它发挥作用?我究竟做错了什么?为什么不记得呢? 在此先感谢,任何帮助表示赞赏!

亲切的问候,

聚苯乙烯。如果需要更多信息,请随时询问!

1 个答案:

答案 0 :(得分:4)

您确定在每个页面的顶部开始会话吗?

session_start();