我遇到的问题是,当您链接到另一个页面时,我的会话变量不会被记住。这可能听起来有点奇怪。为了清除它,我将用一些代码解释我的问题:
此代码是来自' 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。
我想检查的是用户是否仍然登录。 我怎样才能让它发挥作用?我究竟做错了什么?为什么不记得呢? 在此先感谢,任何帮助表示赞赏!
亲切的问候,
聚苯乙烯。如果需要更多信息,请随时询问!
答案 0 :(得分:4)
您确定在每个页面的顶部开始会话吗?
session_start();