好了,我試圖讓一個登錄腳本,但是當我執行它得到這兩個錯誤:頭錯誤PHP
警告:session_regenerate_id()[function.session-再生-ID]:不能再生會話ID - 已在/home/henrirkm/public_html/login/login.php在線29發送的頭文件
警告:無法修改頭信息 - 頭文件已經發送(輸出開始於/ home/henrirkm/public_html/res/mysql.php:2)in /home/henrirkm/public_html/login/login.php on line 47
我的代碼如下:
<?php
session_start();
// MYSQL database connection
include "../res/mysql.php";
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
//select from login table
$qry = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
$result=mysql_query($qry);
//Check whether the query was successful or not
if($result) {
if(mysql_num_rows($result) == 1) {
//Login Successful
session_regenerate_id();
$member = mysql_fetch_assoc($result);
$_SESSION['id'] = $member['id'];
$_SESSION['username'] = $member['username'];
$_SESSION['email'] = $member['email'];
session_write_close();
header("location: ../home/index.php");
exit();
}else {
//Login failed
header("location: index.php?info=loginerror");
exit();
}
}else {
die("Query failed");
}
?>
請幫幫我!感謝:-)
我覺得找你調用兩次'session_regenerate_id()'如果你是在任何包含文件執行它看起來和會話必須是您的腳本文件中的第一件事是沒有空格 –
你有沒有試過谷歌'頭已經發送'? –
你可以嘗試移動'header(「location:../ home/index.php」);''session_write_close();'之前' – Joseph