我是php初学者请问这段php代码哪里错了?

<form id="form1" name="form1" method="post" action="yanzhengma2.php">
验证码
<input type="text" id="inputnum" name="inputnum" />

<?php
$shuzi=rand(123456,999999);
for($i=0;$i<strlen($shuzi);$i++)
{
echo"<img src=img/".substr($shuzi,$i,1).".png width=20 height=25 />";
}
?>
<br />
<input type="hidden" id="shuzi" name="shuzi" value=<?php echo"$shuzi";?>/>
<input type="submit" name="Submit" value="提交" />
<br />
</form>

貌似出现在下面的判断里面...............

<?php
$inputNum=$_POST['inputnum'];
$randNum=$_POST['shuzi'];
if('inputNum'=='randNum'){
echo "验证码正确,执行其他操作.输入的验证码为:".$randNum;
}
else
{echo "验证码错误,请重新输入";}
exit;

?>

请把$_POST['inputnum'] 和 $_POST['shuzi']打印出来

<?php
$inputNum=$_POST['inputnum']; 
$randNum=$_POST['shuzi'];
echo $inputNum;
echo $randNum;
if($inputNum==$randNum)
{echo "验证码正确,执行其他操作.输入的验证码为:".$randNum;
}else{
echo "验证码错误,请重新输入";
}exit;

 ?>

追问

我这样做了,但是就是不输出if后的第一个echo

追答

你看看echo出来的$inputNum和$randNum相等否。
相等的话他们输出了else的内容?
会不会是缓存,ctrl f5一下

追问

不知道,可能是其他地方的原因吧,输出的值是相等的但是就是输出else的内容,我也在纳闷呢.

追答

var_dump($inputNum);
var_dump($randNum);
看看他们是不是有细微的不同

追问

谢谢我知道了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-14
if('inputNum'=='randNum')
这里哪有变量的影子,两个目测都不一样的字符串你让他俩验证是不是==,那肯定只会执行else部分。追问

能给出正确的代码吗?

第2个回答  2013-10-14
<?php
$inputNum=$_POST['inputnum'];
$randNum=$_POST['shuzi'];
if($inputNum==$randNum)
{echo "验证码正确,执行其他操作.输入的验证码为:".$randNum;
}else{
echo "验证码错误,请重新输入";
}exit;
?>

追问

是不是其他地方也有错,可是这样也只是运行else的部分

追答

你在后面输出一下$inputNum和$randNum比对一下

追问

输出了,值没错都是一样的,但是就是不输出第一个echo,,不管输入正确与错误都是输出else部分

第3个回答  2013-10-14
错误提示是什么,到提示的行附近找,你的if条件有问题追问

没提示,就是不输出if后的第一个echo

追答

你if条件里头写的条件不对,哥们

追问

那该怎么写,帮忙改改