带有URL重定向的AMP HTML / PHP形式的POST提交

我有一个简单的HTML / PHP表单(例如https://example.com/dir/BOO.php),其中包含3个字段,这些字段是我为与AMP兼容而开发的,应该使用POST方法:

<form method="post" action-xhr="https://example.com/dir/BOO.php" target="_top">
  <input type="text" name="name" placeholder="Name..." value="Input Name" required>
  <span>Code:</span><select name="code" required><option value="" disabled selected>Choose Code</option><option value='YOYO'>YOYO</option><br><option value='BOO'>BOO</option><br><option value='HELLO'>HELLO</option></select>
  <span>Date:</span><select name="dt"><option value='2019-11-29'>Fri,29Nov19</option><br><option value='2019-11-27'>Wed,27Nov19</option><br><option value='2019-11-26'>Tue,26Nov19</option><br><option value='2019-11-25'>Mon,25Nov19</option><br><option value='2019-11-22'>Fri,22Nov19</option><br></select>
  <input type="submit" value="Submit">

</form>

在同一个BOO.php中,我在页面顶部有以下PHP代码来处理值:

echo "Printing new form values:<br>";
if(!empty($_POST)){
    header("access-Control-Allow-Credentials: true");
    header("access-Control-Allow-Methods: Content-Type");
    header("access-control-allow-origin: ". str_replace('.','-','https://example.com') .".cdn.ampproject.org");
    header("access-Control-Allow-Source-Origin: https://www.example.com");
    header("AMP-access-Control-Allow-Source-Origin: https://www.example.com");
    header("AMP-access-Control-Allow-Methods: *");
    header("access-Control-Expose-Headers: AMP-access-Control-Allow-Source-Origin");
    header('access-Control-Allow-Headers','Content-Type');
    header("AMP-Redirect-To: https://example.com/dir/YOYO.php");

}

echo '{ "POST": "' . print_r($_POST,true) . '"}';
echo "FINISHED-Printing new form values:<br>";
?>

我正在努力实现以下目标:

1)BOO.php和YOYO.php都具有与上述相同的HTML和PHP代码-它们应该是AMP兼容的页面,我相信上面的代码已经处理了这些页面。

2)当我在浏览器中访问(https://example.com/dir/BOO.php)页面时,该页面应具有HTML表单中设置的默认值。但是,当我选择/输入其他值(例如在名称字段中插入我的名字)时,从下拉列表中选择代码“ YOYO”,然后将日期选择为“ Wed,27Nov19”,然后点击“ Submit”(提交)按钮,带我到({https://example.com/dir/YOYO.php)页面,然后

3)所有选定/插入的值都应在YOYO页面中捕获(这是我试图通过-echo '{ "POST": "' . print_r($_POST,true) . '"}';-代码进行打印的内容。

问题在于,即使在第一个BOO.php页面上选择/插入值并单击Submit按钮之后,该页面也完全没有移动。

BOO和YOYO php页面具有用于处理此表单值的相同代码。

关于我要去哪里的任何想法?

要添加的是:标签中还具有用于AMP-FORM的必要脚本异步:

<script async custom-element="amp-form" src="https://cdn.ampproject.org/v0/amp-form-0.1.js"></script>
<script async custom-template="amp-mustache" src="https://cdn.ampproject.org/v0/amp-mustache-0.2.js"></script>
plus....<style amp-boilerplate>,etc...

谢谢

dyc765 回答:带有URL重定向的AMP HTML / PHP形式的POST提交

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2993398.html

大家都在问