<分区>
Possible Duplicate:
Headers already sent by PHP
我正在制作一个简单的登录页面,但是我的 $_SESSION
变量没有在页面之间传输。我在每页的开头阅读了许多关于 session_start()
的其他帖子、文件夹写入权限、session_write_close()
等,但没有一个有效。 session_write_close()
有或没有都没有区别,所以我把它留在里面了。下面的所有代码都工作正常,因为我省略了下面和上面的代码,例如 where $login_fail
来自.
目前我设置了 $_SESSION
变量,如下面的代码所示:
if($login_fail == "")
{
$query = "SELECT first_name, last_name, email_address,password FROM user_info WHERE email_address = '$email_address' AND password = '$password'";
$result = mysql_query($query);
if(!$result) die ("Database access : " .mysql_error());
elseif (mysql_num_rows($result))
{
$row = mysql_fetch_row($result);
$token = "$email_address";
$token1 = "$password";
echo "token: $token, token1: $token1, row[1]: $row[1], row2: $row[2] </ br>";
if($token == $row[2] && $token1 == $row[3])
{
session_start();
$_SESSION['first_name'] = $row[0];
$_SESSION['last_name'] = $row[1];
$_SESSION['email_address'] = $row[2];
$_SESSION['password'] = $row[3];
$_SESSION['check'] = md5($_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT']);
//print_r($_SESSION);
session_write_close();
header("Location: http://127.0.0.1/websiteproject/test.php");
}
else die("Invalid username/password combination");
}
}
else
{
echo "Login failed. Please try again.";
}
我已经完成了 print_r($_SESSION)
并且它打印了所有正确的信息。
然后在我的 test.php 中再次调用 session 变量,以查看在非常简单的代码中发生了什么。
session_start();
print_r($_SESSION);
结果是一个空数组。
当我转到写入我的 session 的 easyphp 临时文件时,我总是会找到两个文件:包含所有正确信息的原始文件和一个没有任何信息的新文件。似乎当我调用第二个 session_start()
时,它实际上是在开始一个新 session 而不是调用当前 session 。
我尝试进行研究以提供尽可能多的信息,而不是浪费人们的时间。非常感谢任何想法。奇怪的是,这几天前还在工作,然后我开始对程序中的文件进行更深入的更改,这发生了。所以我制作了 test.php
只是为了了解更多关于传输问题的信息。