cookie 无效,是怎么回事呀,我把error_reporting全部打开也没报任何错误..

叫我梁大侠 2015-05-20 03:44:29
PHP:

$uname = $_POST["uname"];
if (empty($uname)){echo "1";exit();}
if (!preg_match("/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i", $uname) and !preg_match("/^((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8}$/", $uname)){echo "2";exit();}
$upass = $_POST["upass"];
if (empty($upass)){echo "3";exit();}
$rem = $_POST["rem"];
$check_data = mysql_query("select * from `dh_member` where (`email`='" . addslashes($uname) ."' or `tel`='". addslashes($uname) ."') and `upass` = '" . addslashes(substr(md5($upass),3,9)) . "' and `mck`=1");
if (!$check_data){die(mysql_error());exit();}
if (!mysql_num_rows($check_data)){echo "4";exit();}
else {
$check = mysql_fetch_array($check_data);
login_log($check["id"]);
if (empty($check["unick"])){$sname = $check["unick"];}
else {$sname = $check["xming"];}
if (empty($rem)){
setcookie("uid", $check["id"], time(), "/");
setcookie("uname", $sname, time(), "/");}
else {
setcookie("uid", $check["id"], time()+60*60*24*7, "/");
setcookie("uname", $sname, time()+60*60*24*7, "/");
}
echo "ok";
exit();
}


验证部分(不在同一个页面的):
function memberislogin($back){
if(!isset($_COOKIE["uname"]) || !isset($_COOKIE["uid"])){echo "<script>alert('没有登录');window.location.href=\"/member/login.php?backurl=". $back ."\";</script>"; exit();}
else {
$login_check = mysql_query ("SELECT * FROM `dh_member` WHERE `id`=". $_COOKIE["uid"] ." AND `mck`=1");
if(!mysql_num_rows($login_check)){echo "<script>window.location.href=\"/member/login.php?backurl=". $back ."\"</script>"; exit();}}
}


是怎么回事呢?
...全文
164 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
叫我梁大侠 2015-05-21
  • 打赏
  • 举报
回复
引用 7 楼 xuzuning 的回复:
setcookie("uid", $check["id"], time(), "/"); 和 setcookie("uid", $check["id"], 0, "/"); 是等效的:cookie 在离开页面网站时失效 请检查 $rem = $_POST["rem"]; 的设置是否正确
谢谢几位的回答啊 问题我一步一步验证了 发现是变量赋值问题
xuzuning 2015-05-21
  • 打赏
  • 举报
回复
setcookie("uid", $check["id"], time(), "/"); 和 setcookie("uid", $check["id"], 0, "/"); 是等效的:cookie 在离开页面网站时失效 请检查 $rem = $_POST["rem"]; 的设置是否正确
叫我梁大侠 2015-05-21
  • 打赏
  • 举报
回复
引用 5 楼 fdipzone 的回复:
ob_start(); 有没有加这句?
加这句 有啥用啊?
傲雪星枫 2015-05-20
  • 打赏
  • 举报
回复
ob_start(); 有没有加这句?
猪崽儿0o0 2015-05-20
  • 打赏
  • 举报
回复
cookie有效域不对了?
小菜鸟czh 2015-05-20
  • 打赏
  • 举报
回复
是不是cookie路径的问题啊
叫我梁大侠 2015-05-20
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
无效是什么意思? 只要 memberislogin 函数被执行,那么就一定会有会有输出 那么你得到了什么?
我登录成功之后 跳到一个页面 在那个页面调用了这个函数来检测 是否登录的,结果又回到了登录页..
xuzuning 2015-05-20
  • 打赏
  • 举报
回复
无效是什么意思? 只要 memberislogin 函数被执行,那么就一定会有会有输出 那么你得到了什么?

21,873

社区成员

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

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