我的主页是index.php
。我正在使用CAPTCHA,在该页面上提交表单后,它会检查CAPTCHA验证,如果值正确则转到form.php
。如果值不正确,那么它将保持在同一页面上。
我的问题是,如果CAPTCHA值不正确,它会来到index.php,我在表单中输入的所有值都是null
。我想要我在表单中输入的值,即使CAPTCHA错误并要求新的CAPTCHA文本。
if(empty($_SESSION['6_letters_code'] ) || strcasecmp($_SESSION['6_letters_code'], $_POST['6_letters_code']) != 0)
{
$errors .= "\n The above code does not match!";
}
if(empty($errors))
{
header('Location:form.php');
}
function IsInjected($str)
{
$injections = array('(\n+)',
'(\r+)',
'(\t+)',
'(%0A+)',
'(%0D+)',
'(%08+)',
'(%09+)'
);
$inject = join('|', $injections);
$inject = "/$inject/i";
if(preg_match($inject,$str))
{
return true;
}
else
{
return false;
}
}
if(!empty($errors))
{
header('Location:index.php');
echo "The above code does not match!";
}
答案 0 :(得分:0)
最简单的方法是玩具将验证脚本放在表单的同一页面上,验证后如果正确将用户浏览器重定向到另一个页面,els让它们在同一个表单页面上......
现在输入这样的输入字段,假设您正在使用POST方法发送。
<input type="text" name="username" value="<?php echo isset($_POST['username'])? $_POST['username']:'';?>"
同样的剩余..
或者,如果您想在其他页面上使用验证逻辑,则使用SESSION变量在页面之间传输值... 我希望我能回答你在寻找什么...其他任何评论.. :)