<?    
    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,
请各位帮我看看出了什么问题

解决方案 »

  1.   

    var_dump( $_POST[pin]==$_SESSION[pin];);不要用echo, 注意==
      

  2.   

    楼上两位太辛苦了$_POST[pin]为aaa,$_SESSION[pin]的值为bbb
    echo $_POST[pin]=$_SESSION[pin];--返回1
    这可能吗? 只能是 bbb 呀
      

  3.   

    里面的$_POST[pin]为aaa,$_SESSION[pin]的值为bbb
    怎么看都不相等,echo $_POST[pin]==$_SESSION[pin];返回1,
    请各位帮我看看出了什么问题 这好意思,这里是写的==
    问题是结果为1就不正常
      

  4.   

    我觉得你有必要先确认一下 $_POST[pin]是不是为 aaa $_SESSION[pin]是不是为bbb如果是的话 echo $_POST[pin]==$_SESSION[pin] 是不会返回1的.如果一切都是,那么去洗个手,回来新建个文件重新敲代码测试一下。哈哈哈
      

  5.   

    观看整个代码
    若 echo $_POST[pin] == $_SESSION[pin]; //返回1
    那么 $p1==$p2 必不成立!因为有 $p1=$_POST[pin]."_";
    所以 $_SESSION[pin] 不会被赋予 true