if (isset($_POST['login'])) {
$query = mysql_query("
SELECT id FROM users
WHERE username = '".mysql_real_escape_string($_POST['username'])."'
AND password = '".mysql_real_escape_string($_POST['password'])."'
");
/* wrong login information? output a message and terminate the script */
if (!mysql_num_rows($query)){
header("Location: error.php");
exit();
}
/* set session with unique index */
$_SESSION['id'] = mysql_result($query, 0, 'id');
mysql_query("UPDATE users SET last_login = NOW(), last_ip = '".$_SERVER['REMOTE_ADDR']."' WHERE id = '{$_SESSION['id']}'");
header("Location: success.php");
exit;
}
/* destroy session */
if (isset($_GET['logout'])){
mysql_query("UPDATE users SET online = '0' WHERE id = '{$_SESSION['id']}'");
session_unset();
session_destroy();
header("Location: index.php");
exit;
}
它有效,它确实让我在正确的信息上成功 PHP,但这就是我正在尝试做的:
if (!$_SESSION['id']) {
<form method="post" action="./"><p>
Username: <br />
<input type="text" name="username" size="22" maxlength="30" />
<br />
Password: <br />
<input type="password" name="password" size="22" maxlength="20" />
<br />
<input class="button" type="submit" name="login" value="Login" />
</form>
} else { echo "Logged in"; }
它没有显示“已登录”,我已经打印了 $_SESSION['id'] 但什么也没有。一切都在index.php 中。可能是什么问题?不用担心没有哈希,稍后会解决这个问题
最佳答案
你确实打过session_start吗? ?
关于php - 登录脚本问题,不显示 "Logged in",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/494297/