PHP:会话变量具有未定义的偏移量错误

时间:2017-09-08 05:11:10

标签: php session

我是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}}变量时,它会给我一个未定义的偏移量错误。

2 个答案:

答案 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

2。Where exactly do I put a SESSION_START?

3。When do I have to declare session_start();?