【发布时间】:2016-07-27 13:28:27
【问题描述】:
当我尝试显示登录用户的用户名时,我得到“欢迎,1”,其中 1 应该是登录用户的用户名。 这是我在 members.php 中的代码。注释掉的行也不起作用。
<?php
require_once('include.php');
?>
<?php
// echo "welcome, {$_SESSION['username']}";
$user = $_SESSION['username'];
echo "Welcome $user";
?>
用户已登录,不知道是不是我在check-login页面出错了。 check_login 页面的代码是:
<?php
require_once('include.php');
$username = trim($_POST['user']);
$password = trim($_POST['pass']);
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$sql="SELECT * FROM user WHERE username='$username' and password='$password';";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
if($count !== 0){
$_SESSION['logged-in'] = true;
header("location:members.php?user=$username");
exit;
}
else {
$_SESSION['logged-in'] = false;
header("location:login_again.php");
exit;
}
?>
成功登录后重定向到 members.php 页面。 有人知道为什么用户名每次都是“1”吗? 非常感谢
【问题讨论】:
-
你在哪里给
$_SESSION['username']赋值? -
您在
$username = trim($_POST['user']);中传递的用户名不是超全局$_SESSION
标签: php session-variables login-script