php - 登录脚本问题,不显示 "Logged in"

标签 php

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/

相关文章:

php - 哪个用户:group for my website root folder to be able to run composer update?

php - 如何在 CodeIgniter base_url 中显示我的图像

php - symfony 1.4.8 与 PHP 5.4.7 和 Apache 2.4.3 冲突

php - 将单个数值插入 MySQL 列

php - 带有原型(prototype)的 Symfony 4 表单集合

php - 如何在移动图像时动态创建文件夹?

php - 按 MySQL 中最常见的顺序列出

php - 如何修复随机 php 代码被添加到服务器中的每个 php 文件上

javascript - AJAX 响应,未定义(在控制台普通 JSON 中)

php - 收集、管理数据并通过 API 提供