if(isset($_SESSION['username']) && isset($_SESSION['password'])){
header("Location: ../welcome/index.php");
我的登錄腳本似乎已經停止工作,最近7月19日PHP的新更新。header(「location:...」);沒有重定向到新的PHP更新
任何人都可以解決這個問題嗎?
這是整個腳本。
<?
include_once ('includes.inc.php');
if (!isset($_POST['login']) || (strlen($_POST['username']) < 3) || (strlen($_POST['password']) < 3)) { //User forgot a field
header("Location: ../index.php?message=4");
}
else {
$username = htmlspecialchars(mysql_real_escape_string(trim($_POST['username'])), ENT_QUOTES);
$password = sha1(trim($_POST['password']));
$sqlPass = mysql_query("SELECT isbanned, password, id FROM members WHERE username = '" . $username . "'");
$sqlPass = mysql_fetch_array($sqlPass);
if (($sqlPass['password'] == NULL) || ($sqlPass['password'] != $password)) { //User entered wrong information
header("Location: ../index.php?message=5");
}
else if ($sqlPass['isbanned'] == '1') {
header("Location: ../index.php?message=50");
}
else {
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
$_SESSION['uid'] = $sqlPass['id'];
//Log IP
AddIPToLogs();
if (isset($_SESSION['username']) && isset($_SESSION['password'])) {
header("Location: ../welcome/index.php");
}
}
}
?>
歡迎來到Stack Overflow!請正確格式化您的代碼。通過在任何代碼行之前縮進4個空格來插入代碼塊。我這次爲您編寫了代碼格式,但下次請正確格式化。如需進一步的幫助,請參閱[編輯常見問題](http://stackoverflow.com/editing-help#code) – 2012-08-05 19:24:28
酷,盡我所能。但是,無論如何,我可以得到這個幫助嗎? – user1577774 2012-08-05 19:25:49
另外,歡迎使用堆棧溢出!請不要使用'mysql_ *'函數來編寫新的代碼。他們不再維護,社區已經開始[棄用程序](http://goo.gl/KJveJ)。請參閱* [紅盒子](http://goo.gl/GPmFd)*?相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定哪些,[這篇文章](http://goo.gl/3gqF9)會幫助你。如果你選擇PDO,[這裏是很好的教程](http://goo.gl/vFWnC)。 – 2012-08-05 19:26:29