发布网友 发布时间:2022-04-23 12:30
共4个回答
热心网友 时间:2022-04-07 06:58
session的值没有正确生成吧?你先 print_r($_SESSION)出来,看看验证码字符串是否真确生成了,
还有,必须清楚 数组用字符索引的规则,如果是一个 不加引号的字符,php的解释器会先搜索常量,如果没有定义为常量会将其作为字符串,
加单引号,会自己当做字符串来解析,
加双引号,会判断里面是否有变量存在。
所以,推荐规范写法是 加单引号。
$_SESSION['id'],这样既不容易出错,又提高执行速度
热心网友 时间:2022-04-07 08:16
if($_POST[check]){
$user_input=$_POST[check];
if($_SESSION[id]==$user_input){
echo "正确";
}
else{
echo "错误";
}
改成
if($_POST["check"]){
$user_input=$_POST["check"];
if($_SESSION["id"]==$user_input){
echo "正确";
}
else{
echo "错误";
}
热心网友 时间:2022-04-07 09:51
要学会自己调试,你把你程序中的下面这个语句:
echo "错误";
修改为:
echo "错误,需要的是'".$_SESSION[id]."',而输入的是'$user_input'";
重新运行程序,你应该知道问题在哪里了。
热心网友 时间:2022-04-07 11:42
这里的session相当于一个全局变量,yzm这个可以随便起名,要实现验证的程序时,就要用到session['yzm']来验证你输入的验证码是否和session里面保存的值一致