我是PHP编程的新手。我正在使用会话创建一个简单的登录表单。我传递了两个会话变量: $_SESSION['logon']
和 $rowcount = mysqli_num_rows($result);
if($rowcount == 1){
session_start();
$_SESSION['logon'] == "online";
$_SESSION['username'] = $username;
header("location:../index.php?username=$_SESSION[username]");
}
。这是我的代码:
$_SESSION['username']
问题在于,当我尝试访问$_SESSION['logon']
变量时,它会为我提供存储在其中的适当值,但是当我尝试访问{{1}}变量时,它会给我一个未定义的偏移量错误。
答案 0 :(得分:2)
$_SESSION['logon'] == "online";
与
不同$_SESSION['logon'] = "online";
第一个是比较。
答案 1 :(得分:2)
2件事: -
1. session_start();
需要在每个页面上排名第一(最好添加到单独的文件中,然后将该文件包含在每个其他文件中)
2
$_SESSION['logon'] == "online"; //it's comparison not assignment
需要: -
$_SESSION['logon'] = "online"; // now it's an assignment
注意: - 当您在页面中间使用Warning: Cannot modify header information - headers ...
时,您可以多次session_start()
。
参考: -
1。Why setcookie( ) and session_start( ) Want to Be at the Top of the Page