php不解之密解决方法
php不解之密PHP code?session_start()$p1$_POST[pin]._$p2$_SESSION[pin]echo $p1echo $p2echo
php不解之密
PHP code<? session_start(); $p1=$_POST[pin]."_"; $p2=$_SESSION[pin]; echo $p1; echo $p2; echo $_POST[pin]=$_SESSION[pin];--返回1 if($p1==$p2) { $_SESSION[pin]=true; echo "<font color='#009900'>验证码正确</font>"; }else { echo "<font color='#FF0000'> 您输入的验证码不正确'</font>"; } ?>
里面的$_POST[pin]为aaa,$_SESSION[pin]的值为bbb
怎么看都不相等,echo $_POST[pin]=$_SESSION[pin];返回1,
请各位帮我看看出了什么问题
[解决办法]我觉得你有必要先确认一下 $_POST[pin]是不是为 aaa $_SESSION[pin]是不是为bbb
如果是的话 echo $_POST[pin]==$_SESSION[pin] 是不会返回1的.
如果一切都是,那么去洗个手,回来新建个文件重新敲代码测试一下。哈哈哈
[解决办法]如果不是常量数组里面最好加上引号。效率会差N倍以上,这不是个好习惯
[解决办法]观看整个代码
若 echo $_POST[pin] == $_SESSION[pin]; //返回1
那么 $p1==$p2 必不成立!因为有 $p1=$_POST[pin]."_";
所以 $_SESSION[pin] 不会被赋予 true