Php 动态加载时无法访问$\u GET
我不确定这里有什么问题 我在wordpress中使用一个插件,它会显示一个弹出窗口,供用户注册邮件列表 在这个插件中,我希望能够在一个隐藏字段中添加一个变量来发布,这样我就可以知道用户是否来自某个特定的联盟活动 在我的url中Php 动态加载时无法访问$\u GET,php,jquery,wordpress,Php,Jquery,Wordpress,我不确定这里有什么问题 我在wordpress中使用一个插件,它会显示一个弹出窗口,供用户注册邮件列表 在这个插件中,我希望能够在一个隐藏字段中添加一个变量来发布,这样我就可以知道用户是否来自某个特定的联盟活动 在我的url中 http://example.com/?urlref=affname 在弹出的模式窗口中,我已编码: <?php if(isset($_GET['urlref'])) { ?> // do stuff here <?php } else {
http://example.com/?urlref=affname
在弹出的模式窗口中,我已编码:
<?php if(isset($_GET['urlref'])) { ?>
// do stuff here
<?php } else { ?>
<p>No Aff Link</p>
<?php } ?>
但这也不起作用
我已经将上面的代码添加到了站点页面(不是在弹出窗口中),它可以正常工作。所以我认为这与动态加载有关
有什么想法吗?如果您想动态加载您的
附属机构变量,那么您需要将此变量存储在会话中或cookie中:
您只需在站点页面中设置会话
:
<?php
session_start();
if(isset($_GET['urlref'])) {
$_SESSION['urlref'] = $_GET['urlref'];
} else {
$_SESSION['urlref'] = '';
}
?>
现在,您可以在模型页面中通过SESSION
获得此$\u会话['urlref']
,可能您要添加的隐藏字段不在
标记中,因此它不会发送到服务器。需要更多关于您的问题的详细信息(插件、HTML代码等)将我的评论转换为答案:
弹出窗口中无法访问$\u GET['urlref']
的原因可能是请求更改URL以及$\u GET
。因此,您可以在站点页面中访问$\u GET['urlref']
,但不能在弹出窗口中访问
因此,您可以在弹出窗口中更改if
条件,如下所示:
$url = $_SERVER['HTTP_REFERER'];
if (strpos($url,'urlref') !== false) {
echo 'urlref exists.';
} else {
echo 'No urlref.';
}
如果您有任何疑问,请告诉我。您使用了哪个插件?您的代码如何打开模态窗口?代码是一个包含元素的表单。我想显示的隐藏字段应该在哪里,有这样一个:没有Aff链接
你能把它放在弹出窗口中并告诉我它的输出吗?有吗?有;这不管用。仍在获取else块输出您是否也在模型页面上启动了会话
?会话已在functions.php中启动-将添加到插件页面,请参见。谢谢,工作非常顺利:)
$url = $_SERVER['HTTP_REFERER'];
if (strpos($url,'urlref') !== false) {
echo 'urlref exists.';
} else {
echo 'No urlref.';
}