Php 如何在recaptcha之后执行操作表单

Php 如何在recaptcha之后执行操作表单,php,forms,recaptcha,Php,Forms,Recaptcha,我想使用我的表单发布一条评论,它可以在没有recaptcha的情况下工作,但是当我添加recaptcha时,它不工作。这里是我的代码,带有recaptcha <?php echo "<form class='recaptchaForm' method='POST' action='".setComments($conn)."'> <input type='hidden' name='room_name' value='$n

我想使用我的表单发布一条评论,它可以在没有recaptcha的情况下工作,但是当我添加recaptcha时,它不工作。这里是我的代码,带有recaptcha

<?php
           echo "<form class='recaptchaForm' method='POST' action='".setComments($conn)."'>
              <input type='hidden' name='room_name' value='$name'>
              <input type='hidden' name='date' value='".date('Y-m-d H:i:s')."'>
              <input type='text' name='uname' id='uname' class='name' placeholder='Name' required  /><br>
              <input type='text' name='umail'
              id='umail' class='name' placeholder='E-mail' required  />

              <textarea id='message' class='message' name='message'
              placeholder='Join the Discussion'
              required ></textarea><br>

              <div class='g-recaptcha' data-sitekey='6LfF4XYUAAAAAMaLkn2-AMUsoEkt-ym-SFsCVEBG'></div>

              <button type='submit' id='post' name='commentSubmit'>Post Review</button>

            </form>";
        ?>
我想我遗漏了什么,但我不知道是什么
请帮助我,我是一个初学者

我认为event.prevent不允许表单提交。因此,通过将脚本修改为以下内容进行检查:

$(document).on('click', '[name="commentSubmit"]', function(event)  {
event.preventDefault();
var recaptcha = $('[name="g-recaptcha-response"]').val();
if(recaptcha===""){

  alert("Please Check Recaptcha");

}
else{

 $.post("submit.php",{
    "secret":"6LfF4XYUAAAAAFXOxblX4Vttp67bmaRJXkua6Ks-",
    "response":recaptcha
 },function(response){
    console.log(response);

    $('.recaptchaForm').submit();


   });
 }

 });

圣罗伊什么都没有happen@KenVerganio我已经编辑了答案,请检查提交的表单,但当验证码未验证或未检查时,表单也已提交,它应显示“请检查验证码”。有两个条件不应提交表单,第一个是当recaptcha值为空时,如果captcha不匹配,第二个是在ajax调用之后。那么,您能告诉我表单是在哪种情况下提交的吗?如果是第二种情况,请提供一个示例,说明您在控制台中得到的响应。控制台中没有关于您提到的两种情况的错误。在此参数列表之后显示的错误是“未捕获SyntaxError:missing”)。我不知道该把缺少的括号放在哪里
<?php
   $secret = $_POST["secret"];
   $response = $_POST["response"];
   $url = "https://www.google.com/recaptcha/api/siteverify? 
   secret=".$secret."&response=".$response;
   $verify = file_get_contents($url);
   echo $verify;
?>
function setComments($conn){
    if(isset($_POST['commentSubmit'])){
        $room_name = $_POST['room_name'];
        $date = $_POST['date'];
        $uname = $_POST['uname'];
        $umail = $_POST['umail'];
        $message = $_POST['message'];

        $query = "insert into comments_table (cname, cmail, cmessage,room_name,cdate) Values ('$uname','$umail','$message','$room_name','$date')";
        $result = mysqli_query($conn, $query);
    }
    } 
$(document).on('click', '[name="commentSubmit"]', function(event)  {
event.preventDefault();
var recaptcha = $('[name="g-recaptcha-response"]').val();
if(recaptcha===""){

  alert("Please Check Recaptcha");

}
else{

 $.post("submit.php",{
    "secret":"6LfF4XYUAAAAAFXOxblX4Vttp67bmaRJXkua6Ks-",
    "response":recaptcha
 },function(response){
    console.log(response);

    $('.recaptchaForm').submit();


   });
 }

 });