Javascript php在netlify上托管时不支持表单提交

Javascript php在netlify上托管时不支持表单提交,javascript,php,html,netlify,Javascript,Php,Html,Netlify,我正在尝试使用一个简单的php表单来提交电子邮件。作为额外信息,我在netlify上托管 问题是,浏览器/控制台中没有回音,也没有收到电子邮件,而且我在任何地方都没有收到错误消息,我收到的只是来自netlify的一条消息,在我单击“提交”后说: 守则: <form name="captureClientContactPage" data-netlify="true"id="contact-form" class="contact__form mt-5" method="p

我正在尝试使用一个简单的php表单来提交电子邮件。作为额外信息,我在netlify上托管

问题是,浏览器/控制台中没有回音,也没有收到电子邮件,而且我在任何地方都没有收到错误消息,我收到的只是来自netlify的一条消息,在我单击“提交”后说:

守则:

        <form name="captureClientContactPage" data-netlify="true"id="contact-form" class="contact__form mt-5" method="post" action="mail.php">
     <!-- form message -->
        <div class="row">
            <div class="col-12">
                <div class="alert alert-success contact__msg" style="display: none" role="alert">
                    Your message was sent successfully.
                </div>
            </div>
        </div>
        <!-- end message -->
        <div class="form-row">
            <div class="col-lg-12">
                 <div class="form-group-2 mb-4">
                    <textarea name="message" class="form-control" rows="6" placeholder="Your Message"></textarea>
                </div>

                <div class="text-center">
                    <button class="btn btn-main" name="submit" type="submit">Send Message</button>
                </div>
            </div>
        </div>
    </form>

您的邮件已成功发送。
发送消息
然后是php文件mail.php:

if($\u服务器[“请求\u方法”]=“发布”){
#修复:将此电子邮件替换为收件人电子邮件
$mail_to=”myemail@myemail.com";
#发送方数据
//$subject=trim($_POST[“subject”]);
$name=str_replace(数组(“\r”,“\n”)、数组(“,”)、strip_标签(trim($_POST[“name”]);
$email=filter\u var(trim($\u POST[“email”]),filter\u SANITIZE\u email);
$message=trim($_POST[“message”]);
if(空($name)或!filter_var($email,filter_VALIDATE_email)或空($subject)或空($message)){
#设置400(错误请求)响应代码并退出。
http_响应_代码(400);
echo“请填写表单并重试。”;
出口
}
#邮件内容
$content=“Name:$Name\n”;
$content.=“电子邮件:$Email\n\n”;
$content.=“消息:\n$Message\n”;
#电子邮件标题。
$headers=“From:$name”;
#发送电子邮件。
$success=mail($mail\u to,$content,$headers);
如果($成功){
#设置200(正常)响应代码。
http_响应_码(200);
echo“谢谢!您的邮件已发送。”;
}否则{
#设置500(内部服务器错误)响应代码。
http_响应_代码(500);
echo“哎呀!出了点问题,我们无法发送您的消息。”;
}
}否则{
#不是POST请求,请设置403(禁止)响应代码。
http_响应_代码(403);
echo“您的提交有问题,请重试。”;
}
?> 任何帮助都将不胜感激。非常感谢

如果您需要更多信息,请务必询问


戴尔。

那里少了一个空位
data netlify=“true”id=“contact form”
netlify是否支持.php文件?我不认为我没有想到netlify不支持php。。。我可以改用JS吗?helpecho可能不会输出到浏览器的控制台,它会在响应体中输出HTML(或文本、JS代码或任何您喜欢的内容),然后在主浏览器窗口中呈现。无论如何,请不要对同一件事问多个问题。可能重复的
if ($_SERVER["REQUEST_METHOD"] == "POST") {

    # FIX: Replace this email with recipient email
    $mail_to = "myemail@myemail.com";

    # Sender Data
    // $subject = trim($_POST["subject"]);
    $name = str_replace(array("\r","\n"),array(" "," ") , strip_tags(trim($_POST["name"])));
    $email = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL);
    $message = trim($_POST["message"]);

    if ( empty($name) OR !filter_var($email, FILTER_VALIDATE_EMAIL) OR empty($subject) OR empty($message)) {
        # Set a 400 (bad request) response code and exit.
        http_response_code(400);
        echo "Please complete the form and try again.";
        exit;
    }

    # Mail Content
    $content = "Name: $name\n";
    $content .= "Email: $email\n\n";
    $content .= "Message:\n$message\n";

    # email headers.
    $headers = "From: $name <$email>";

    # Send the email.
    $success = mail($mail_to,$content, $headers);
    if ($success) {
        # Set a 200 (okay) response code.
        http_response_code(200);
        echo "Thank You! Your message has been sent.";
    } else {
        # Set a 500 (internal server error) response code.
        http_response_code(500);
        echo "Oops! Something went wrong, we couldn't send your message.";
    }

} else {
    # Not a POST request, set a 403 (forbidden) response code.
    http_response_code(403);
    echo "There was a problem with your submission, please try again.";
}