Javascript 我的验证码是检查它是否为空或错误,但它不是检查它是否正确

Javascript 我的验证码是检查它是否为空或错误,但它不是检查它是否正确,javascript,Javascript,这是我的HTML <div class="row"> <div class="form-group"> <label class="control-label col-sm-3"><font color="#FF0000">*</font><strong>Captcha</strong> </label> <div class="col-s

这是我的HTML

<div class="row">
    <div class="form-group">
        <label class="control-label col-sm-3"><font color="#FF0000">*</font><strong>Captcha</strong>
        </label>
        <div class="col-sm-3">
            <?php echo '<img src="captcha.php" alt="captcha">'; ?>
            <br/>
            <span><input name="captcha_entered" type="text"  class="form-control" id="captcha_entered" size="27" maxlength="4"/></br></span>
            <input type="hidden" name="captcha_total" id="captcha_total" value="<?php echo $_SESSION['rand_code']; ?>">
        </div>
    </div>
</div>
<div>&nbsp;</div>
<div class="row">
    <div class="col-sm-12">
        <center>
            <script type="text/javascript">
                document.write("<input type=\"submit\" value=\"Submit\" class=\"btn1\"/>");
            </script>
            <noscript>
                <p style="color: red;"><b><i>Please enable JavaScript to continue</i></b>
                    <p>
            </noscript>
        </center>
    </div>
</div>
对于正确验证码和错误验证码,它也会显示相同的弹出消息。 错误和正确验证码显示与错误验证码相同的错误

正确的验证码有什么问题?
验证时出现了什么问题?

请从中获取帮助。它会解决你的问题。明智地使用它

<?php session_start();
$_SESSION['code'] = '1323'; // here will your captcha is stored  i have used a constant value;
?>
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
     <body>
        <form>
            <input type="text" name="captcha" id="captcha">
            <input type="submit" name="submit" value="submit" onclick=" event.preventDefault(); q_form_val();">
        </form>
        <script>
            function q_form_val() {

                var captcha_entered = document.getElementById("captcha").value;
                if (captcha_entered == "") {
                    alert("Please enter the Captcha");
                    return false;
                }else if( captcha_entered == "<?php echo $_SESSION['code']; ?>" ){
                    alert("captcha matched");
                    return true;
                }else if( captcha_entered != "<?php echo $_SESSION['code']; ?>" ){
                    alert("captcha not matched");
                    return false;
                }
            }
        </script>
    </body>
</html>

函数q_form_val(){
var captcha_entered=document.getElementById(“captcha”).value;
如果(输入的验证码==“”){
警报(“请输入验证码”);
返回false;
}否则如果(输入的验证码==“”){
警报(“验证码匹配”);
返回true;
}否则如果(输入验证码!=“”){
警报(“验证码不匹配”);
返回false;
}
}

有点离题,但我建议您查看一下Google reCAPTCHA。对您的用户来说,这是一个非常好的体验,而且非常容易实现。您在哪里检查验证码的值和用户输入的值?假定的验证码值在哪里?@Dherya我在表单中检查是的,但它是为了什么,您的已匹配正则表达式看起来的值unnecessary@Dhreya如果验证码不匹配…那么应该显示什么弹出窗口?验证码不匹配的地方在哪里popup@Dhreya不起作用..它现在将我重定向到thank-you.php页面,但没有提交表单尝试控制您在验证码中获得的值输入变量我已经为。。只要做些改变,你就可以走了。。。如果你还想讨论。。打我
<?php session_start();
$_SESSION['code'] = '1323'; // here will your captcha is stored  i have used a constant value;
?>
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
     <body>
        <form>
            <input type="text" name="captcha" id="captcha">
            <input type="submit" name="submit" value="submit" onclick=" event.preventDefault(); q_form_val();">
        </form>
        <script>
            function q_form_val() {

                var captcha_entered = document.getElementById("captcha").value;
                if (captcha_entered == "") {
                    alert("Please enter the Captcha");
                    return false;
                }else if( captcha_entered == "<?php echo $_SESSION['code']; ?>" ){
                    alert("captcha matched");
                    return true;
                }else if( captcha_entered != "<?php echo $_SESSION['code']; ?>" ){
                    alert("captcha not matched");
                    return false;
                }
            }
        </script>
    </body>
</html>