我有AMP表格,但由于某种原因,提交时有错误

问题描述 投票:2回答:1

我有一个带有amp-form组件的AMP网站,由于某种原因,我无法获取该表单。控制台https://prnt.sc/shu7i0上的错误和网络错误https://prnt.sc/shu85g。您也可以在https://frontlinewebtech.com/traderharian/上查看实时站点。请帮助

这是我的html

<form class="subscribe-form flex flex-middle" method="POST" action-xhr="/mail.php" target="_top">
    <div class="form-control">
        <input type="email" required name="email" placeholder="Alamat email">
    </div>
    <button class="btn-subscribe" type="submit">Daftar</button>
</form>

这是我的PHP

<?php
if(!empty($_POST)){
    $email = $_POST['email'];
    $formcontent=" From: $email";
    $recipient = "[email protected]";
    $subject = "email from website";
    $mailheader = "From: $email \r\n";
    mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");

    $domain_url = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]";
    header("Content-type: application/json");
    header("Access-Control-Allow-Credentials: true");
    header("Access-Control-Allow-Origin: ". str_replace('.', '-','https://frontlinewebtech.com/'));
    header("AMP-Access-Control-Allow-Source-Origin: " . $domain_url);
    header("Access-Control-Expose-Headers: AMP-Access-Control-Allow-Source-Origin");
    header("AMP-Redirect-To: https://example.com/index.html");
    header("Access-Control-Expose-Headers: AMP-Redirect-To, AMP-Access-Control-Allow-Source-Origin"); 
    echo json_encode(array('name' => $name));
    exit;
}
?>
php amp-html amp-form
1个回答
2
投票

我检查了所有附件,发现此错误是由于406“不可接受”原因所致。

在此服务器上找不到所请求资源的适当表示形式。此错误是由Mod_Security生成的。

复制下面的文本,并将其粘贴到域根目录的.htaccess文件中。

<IfModule mod_security.c> SecFilterEngine Off SecFilterScanPOST Off </IfModule>

或检查您的Apache mod_security配置。

useful link

© www.soinside.com 2019 - 2024. All rights reserved.