PHP Session的一个疑问

zhanghaidang 2007-09-01 10:38:07
问题:
当我登录后,将用户名写入Session的$_SESSION['name']中,然后我重新登录,用别的用户名,但是不能改变$_SESSION['name']的值,不知道何解.

我第一次用root登录,打印$_SESSION['name']为root,
我第一次用dangdang登录,打印$_SESSION['name']还是为root,
然后我就想到将$_SESSION['name']这个变量删除,但是打印后还是为root,


if(isLogin($name, $pwd)){
//将用户名写入Session,
session_start(); //开始
if(isset($_SESSION['name'])){//判断变量是否存在
unset($_SESSION['name']);
session_destroy(); //销毁session*/
}

session_start(); //重新开始一个session
$_SESSION["name"] = $name; //创建Session变量,并设置值
header("location:index.php");
}else{
//返回首页,给出提示信息,重新登录
header("location:Login.php?errorMessage=无效的用户名或密码");
}

请问这个问题该怎么解决
...全文
155 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhanghaidang 2007-09-03
  • 打赏
  • 举报
回复
非常感谢 dandande()
zhanghaidang 2007-09-01
  • 打赏
  • 举报
回复
我现在的需求是
第一个用户登录后,记录第一个用户的用户名,但是当第一个用户没有关闭整个浏览器(如TT,只关闭页面的情况下),第二个用户登录,能够改变session['name']的值,记住第二个用户的用户名,请问这个简单的需求该怎么在PHP中实现呢,急急急,谢谢大家了.
jingangel_ 2007-09-01
  • 打赏
  • 举报
回复
记录:
session_start();
$_SESSION["username"] = "$username";
$_SESSION["company"] = "$row[company]";

if(($_SESSION["username"]=="") || ($_SESSION["company"]==""))
{
echo "<script language='javascript'>alert('用户名或密码错误,请重新输入!');history.go(-1);</script>";

}
else
{
echo "<script language='javascript'>location.href='client.php';</script>";
}
应用:
session_start();
if($_SESSION["username"] == "")
{
echo "<script>location.href = 'login.php'</script>";
exit;
}
dandande 2007-09-01
  • 打赏
  • 举报
回复
建议你这样写,在登陆页上,开始的两行是:
<?php session_start();
session_destroy();
......
?>
在处理登陆的页上:
<?php session_start(); //这句必须写在第一行
session_register(name); //这句可以写在第二行,也可在判断name,password正确后写
......
?>

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧