为何这段验证代码没用 应该用if(session_is_registered(userid))判断 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 但新版的php(我的版本是php4.3.2)都推荐用isset来检测变量是否注册的,在php4.2.2之后默认就不支持session_is_registerred了,现在我改写了代码:<?session_start();if(session_is_registered(userid)) //检查是否注册{echo "<br><center><a href='index.php'>只有注册会员才有权限操作,请先登录!<br>";exit; }?>但还是一样,大家帮我找找原因哪! 应该这样吧?if(!session_is_registered(userid)){echo "<br><center><a href='index.php'>只有注册会员才有权限操作,请先登录!<br>";exit; }如果userid注册了,就直接进入,是不是? 上面的代码是用session_is_registered,但新版的是不推荐用这个,都推荐用isset,我现在写的代码如下:<?session_start();if(isset($_SESSION['userid'])) { echo "只有注册会员才有权限操作,请先登录 !";}else{echo "<META HTTP-EQUIV=REFRESH CONTENT='0;URL=index.php'>";}?>运行一切正常了,但问题是如果检测到session变量已注册,那会显示"只有注册会员才有权限操作,请先登录 !",这样怎能行呢?这里应该怎么改的,用""代替当然可以,但我想不应该这样写的,哪位帮我改一下。 我不是说了吗?在前面加一个非if(!isset($_SESSION['userid'])) 不就是一个逻辑判断吗?userid被注册后,isset($_SESSION['userid'])就为真值了,这时不就应该可以进入index.php页面吗?同样如果userid没有被注册,isset($_SESSION['userid'])就为假了,这时,!isset($_SESSION['userid'])就为真了,所以就应该执行echo "只有注册会员才有权限操作,请先登录 !";了。这样说,明白吗? 多谢黑暗天使的指点,这下我终于明白了,谢谢你的指点,另外,你能再指点我另外一个问题吗,在http://expert.csdn.net/Expert/topic/2104/2104439.xml?temp=1.343936E-02,这个问题研究了老半天还是参不透,实在无能为力了,这个userid变量无论如何就是传递不过,但username变量都能传递过去,我觉得我的写法可能不对,我在asp中是这样写的:session("userid")=RS("id"),但在php中我的写法却失效了,你能再指点一二吗?最大的可能就是语法不对,但运行时却并没有提示什么错误,只是从session文件中可以看出,这userid根本就没有传递过去。 初学php,想用zend调试php卡了好些天,求好心人帮忙; 我用的雪晖PHP在线投票系统,不可以限IP zen cart 网页和缓存的关系,请教 显示图象出乱码 我们公司要搞个产品介绍的网站,不幸的是我们的主机是LINUX的,只能用PHP的,我没有任何PHP的经验,那位给份网站完整的代码给我? 字节怎样转化为kb? 关于保存进入该网站的方式的问题,大家想必没有遇到过,进来探讨一下吧 五行程序,却得不到正确答案,session问题请教 关于redhat上安装apache2.0.43+php4.2.3的问题。 最近很难过 PHP怪问题。请看源代码
<?
session_start();
if(session_is_registered(userid)) //检查是否注册
{
echo "<br><center><a href='index.php'>只有注册会员才有权限操作,请先登录!<br>";
exit;
}
?>
但还是一样,大家帮我找找原因哪!
if(!session_is_registered(userid))
{
echo "<br><center><a href='index.php'>只有注册会员才有权限操作,请先登录!<br>";
exit;
}
如果userid注册了,就直接进入,是不是?
<?
session_start();
if(isset($_SESSION['userid'])) {
echo "只有注册会员才有权限操作,请先登录 !";
}else{
echo "<META HTTP-EQUIV=REFRESH CONTENT='0;URL=index.php'>";
}
?>
运行一切正常了,但问题是如果检测到session变量已注册,那会显示"只有注册会员才有权限操作,请先登录 !",这样怎能行呢?这里应该怎么改的,用""代替当然可以,但我想不应该这样写的,哪位帮我改一下。
if(!isset($_SESSION['userid']))
userid被注册后,isset($_SESSION['userid'])就为真值了,这时不就应该可以进入index.php页面吗?
同样如果userid没有被注册,isset($_SESSION['userid'])就为假了,
这时,!isset($_SESSION['userid'])就为真了,所以就应该执行
echo "只有注册会员才有权限操作,请先登录 !";了。
这样说,明白吗?