这是我使用click here的验证码代码的链接问题是,当我发布验证码时,它总是在我进行验证时说不正确。 它始终显示错误消息,因此它无法正确验证如何使用会话['captcha'] ['code']而不会弄乱每个帖子 有些事情是错误的,因为它必须在回发后改变,并且在会话中有所不同,但是当我打印($ _ SESSION)时,值就是输入和匹配验证码。
PHP:全部在同一页面上。
<?PHP
session_start();
$_SESSION['captcha'] = captcha();
$captcha_code = $_POST["captcha_code"];
if(isset($_POST["captcha_code"]) ){
do verification here //
if(....) {
if(strtolower($captcha_code) != strtolower($_SESSION["captcha"]["code"])) {
$error_message .= "<li>The code you entered is incorrect.</li>";
$hasError = true;
}
}
}
答案 0 :(得分:0)
由于我无法验证captcha.php文件的内容 - 我对您的问题无能为力。但是,这是可能的。
你的$ _SESSION ['验证码'] =验证码();对我来说似乎不正确{因为我找不到captcha.php的来源}。如果它在与发布的表单相同的页面加载上设置会话,那么当您使用print_r($ _ SESSION)调用时,您如何确定它不是设置不同的验证码会话?如果你明白我的意思。在你的captcha()函数(captcha.php文件)中,它是否也在那里设置会话,而不确认错误的帖子?因此,改变$ _POST的页面加载?换句话说 - 是否确保在验证用户输入之前发布表单时不会“重置”。
captcha.php代码在哪里?
此外,您似乎缺少include(“captcha.php”);在session_start()之后;呼叫。那可能是你的问题。但是,无法确认。