我用captcha做了一个表单脚本,下面是其中的一部分:
<?php
$captcha1 = rand(0,9);
$captcha2 = rand(0,9);
$captcha3 = rand(0,9);
$captcha4 = rand(0,9);
$captcha5 = rand(0,9);
$captchafinal = $captcha1.$captcha2.$captcha3.$captcha4.$captcha5;
$captchaimageholder = array("captcha0.png", "captcha1.png", "captcha2.png", "captcha3.png", "captcha4.png", "captcha5.png", "captcha6.png", "captcha7.png", "captcha8.png", "captcha9.png");
print_r($captchafinal);
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (!empty($_POST['afzender']) && !empty($_POST['subject']) && !empty($_POST['inhoud']) && !empty($_POST['captcha']) )
{
echo $_POST['captcha'];
if ($captchafinal == $_POST['captcha'])
{
echo "<div class='approved'>Succesvol verstuurd.</div>";
}
}
else
{
echo "<div class='error'>Één of meer velden zijn niet correct ingevuld.</div>";
}
}语句if ($captchafinal == $_POST['captcha'])的计算结果为false,但我不知道为什么。
发布于 2014-10-01 19:32:25
你可能有跟不上的问题。你调用php脚本,选择随机的5个数字,并将这5个图片显示给客户端。客户端输入他们看到的内容,然后再次调用php。php and 选择5个随机数并将其与用户输入进行比较。但是脚本不是比较显示给客户端的数字,而是新生成的集合。
https://stackoverflow.com/questions/26140139
复制相似问题