首页 > 解决方案 > 是否可以在 AMP 表单中使用 php 函数填充隐藏字段的值

问题描述

所以我有一个 amp 表单,我需要它来捕获所有用户的背景信息(如 utm_source、地理位置、活动信息等)所以通常我会使用由 javascript 填充的隐藏字段来完成此操作,但 amp 不允许我拥有 javascript 所以我的下一个想法是在 value 部分用一个函数填充它们,如下所示:

<input name="location" type="hidden" value="<?php getGeoByIP()?>">

但这不适用于我的放大器形式。我做了一些研究,我认为我的答案在于 amp 的变量替换,但我通读了文档,其中大部分是关于 amp 列表的,我仍然不确定我将如何实现这一点。

任何帮助或指导都会很棒,谢谢!

标签: javascriptphpamp-html

解决方案


这是可能的——但你必须以另一种方式解决它。HTML:

<input name="location" value="{MY_PLACEHOLDER}" />

在 PHP 端:

<?php 
$userInfo = $getTheInfos();  // GET THE INFOS YOU WANT
$template = file_get_contents('my_template.html'); // YOUR HTML
$output  = str_replace('{MY_PLACEHOLDER}',$userInfo, $template);
echo $output;

推荐阅读