用eclipse调试了一个PHP程序,是验证验证码的程序,但是执行后输完验证码总是提示验证码错误
用eclipse调试了一个PHP程序,是验证验证码的程序,但是执行后输完验证码总是提示验证码错误,哪出问题了?
求助好人
第一个程序是制作验证码图片的程序
<?php
session_start();
error_reporting(E_ALL & ~E_NOTICE);
for($i=0;$i<4;$i++){
$rand.=dechex(rand(0,15));
}
$_session[check_pic]=$rand;
$im=imagecreatetruecolor(100,30);
$bg=imagecolorallocate($im,255,255,255);//背景颜色
$te=imagecolorallocate($im,65,85,144);
imagestring($im,rand(1,6),35,6,$rand,$te);
header("content-type:image/jpeg");
imagejpeg($im);
?>
第二个程序是验证码的布局和验证
<?php
SESSION_start();
error_reporting(E_ALL & ~E_NOTICE);
if($_POST[check]){
if($_POST[check]==$_SESSION[check_pic])
{
echo "验证码正确".$_SESSION[check_pic];
}
else
{
echo "验证码错误".$_SESSION[check_pic];
}
}
?>
<form action="" method="post">
<img src='login.php'>
验证码:<input type="text" name="check" /><br />
<input type="submit" value="确认" />
</form>
求高人解答,感激不尽
追问:
这个不是两个相等的意思吗?为什么是判断为假值啊?
正确的该怎么写呢?
就是因为二者不相等。
其实你可以先分别输出二者的值看看有什么问题。
说不定其中的某个值可能为空,你再分析一下你的程序。
答案:你确定你最开始给$_SESSION赋值的时候是写的小写?是小写肯定错了啊。。。
其他:提示错误是因为你这一句:
$_POST[check]==$_SESSION[check_pic]
判断为假值。
上一个:用php写的一个通讯录的网页,程序是老师给的例子,在我机子上不能运行,用的是xampp和自带的mysql。很急!
下一个:一个查字典程序,字典在mysql里面,php编写界面。要实现用户边输入,边提示,怎么实现?