日期:2014-05-17  浏览次数:20362 次

这验证cookie 怎么没用啊
mysql_select_db("dhbase",$conn);
$sql="select * from dh_admin where uname='$lname' and upass='$ckpass' and work=1";
$result=mysql_query($sql,$conn);
if(mysql_num_rows($result)<=0)
{
echo "<font color=red>账号信息有误</font>";
exit;
}
else
{
$row=mysql_fetch_array($result);
$lid=$row["id"];
$ltime=date('y-m-d h:i:s',time());
$user_IP=@($_SERVER["HTTP_VIA"])?$_SERVER["HTTP_X_FORWARDED_FOR"]:$_SERVER["REMOTE_ADDR"];
$user_IP=($user_IP)?$user_IP:$_SERVER["REMOTE_ADDR"];
$lsql="INSERT INTO dh_alog(aid,logtime,logip) VALUES ('$lid','$ltime','$user_IP')";
if(!mysql_query($lsql,$conn))
{
die('Error: '.mysql_error());
}
setcookie("uname",$lname,time()+3600);
//echo $_COOKIE["uname"];
echo "<script>location.href='index_home.php';</script>";
exit;
}
这段登陆验证并写入cookie 输出cookie也是正常的
接着跳转到index_home.php这页面,该页面调用了验证页面admin_chk.php
代码如下:
<?php
session_start();
if(isset($_COOKIE["uname"]))
{
echo $_COOKIE["uname"];
}
else
{
echo "<script>alert('温馨提示:您的权限已经超时,请重新登录');location.href='index.php'</script>";
exit;
}
?>
这代码哪里写错了么?我这调试一登录就温馨提示:您的权限已经超时,请重新登录。
求高人指点,谢谢
cookie 验证

------解决方案--------------------
代码没什么问题,你是怎么调试的。用多个浏览器测试下。
------解决方案--------------------
cookie路径对么?
------解决方案--------------------
文档布局
index_home.php
inc/admin_chk.php

inc/admin_chk.php 中有 setcookie("uname",$lname,time()+3600);

是这样吧?

那么
setcookie("uname",$lname,time()+3600);
应写作
setcookie("uname",$lname,time()+3600, '/');