为了账号安全,请及时绑定邮箱和手机立即绑定

通过recaptcha检查后如何从HTML表单邮寄数据?

通过recaptcha检查后如何从HTML表单邮寄数据?

沧海一幻觉 2021-06-14 13:48:06
我在一个联系网站上工作,我想在那里有联系表格。我希望它将数据发送到电子邮件,并且我希望它由 Google 的 recaptcha v3 进行检查。这是我第二次尝试。过去,我在没有 recaptcha 的情况下成功完成了它。现在,我使用了这个(https://codeforgeek.com/google-recaptcha-v3-tutorial/)教程,结果如下:表单下方的脚本       // when form is submit    $('#myform').submit(function() {        // we stoped it        event.preventDefault();        var mail = $('#email').val();        var comment = $("#sprava").val();        // needs for recaptacha ready        grecaptcha.ready(function() {            // do request for recaptcha token            // response is promise with passed token            grecaptcha.execute('__SITE-KEY__', {action: 'create_comment'}).then(function(token) {                // add token to form                $('#myform').prepend('<input type="hidden" name="g-recaptcha-response" value="' + token + '">');                    $.post("form.php",{mail: mail, comment: comment, token: token}, function(result) {                            if(result.success) {                                    alert('Thanks for message')                            } else {                                    alert('An error occured')                            }                    });            });;        });  });  </script>html 表单字段的名称是“email”、“vyber”、“sprava”表单.php<?php  $mail;$comment;$captcha;  $mail = filter_input(INPUT_POST, 'mail', FILTER_VALIDATE_EMAIL);  $comment = filter_input(INPUT_POST, 'comment', FILTER_SANITIZE_STRING);  $captcha = filter_input(INPUT_POST, 'token', FILTER_SANITIZE_STRING);  }  function email_sending(){    $webmaster_email = "bla@bla.com";    $sender_email= "blabla@bla.com" ;    $email_address = $_REQUEST['email'] ;    $selection = $_REQUEST['vyber'] ;    $message = $_REQUEST['sprava']; 问题不在 recaptcha 部分,但后来我收到电子邮件,其中数据丢失。(它只显示变量名,不显示实际值)。我可能认为这是因为在脚本中命名,因为我不确定在变量声明中写什么。我很高兴收到有关此问题的任何意见。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信