【发布时间】:2020-12-12 22:20:15
【问题描述】:
我下载了一个推荐人插件,它工作正常我创建了我的自定义链接,一切都很好:
我有一个转换系统,可以告诉我有多少用户通过自定义链接访问了我的网站
如果您想在显示屏上查看与自定义链接关联的变量,只需执行以下操作:
<?php
if (isset($_GET['r'])) {
echo $_GET['r'];
}
?>
问题出在哪里,如果用户换了页面回到首页,明显是url变了,怎么才能让变量r=在内存中留给用户整个浏览会话
更新 $_SESSION
如果在functions.php中我写代码:
if (!session_id()) {
session_start();
$_SESSION['referrer']=$_GET['r'];
}
在front-page.php中,写echo:
<?php
$username=$_SESSION['referrer'];
echo $username;
?>
很完美,但是一旦我改变了页面,即使我激活了 session_start,变量也看不到
第二页示例:
session_start();
$test = $_SESSION['referrer'];
echo $test;
我也尝试按照这个例子输入$_SESSION:
function test() {
global $hello;
$hello = 'hello world';
}
add_action( 'after_setup_theme', 'test' );
和回声:
global $hello;
echo $hello;
但没有结果
【问题讨论】:
-
是的,您可以使用会话存储。 php.net/manual/en/book.session.php
-
为什么不为此使用会话?
-
@NicoHaase 我怎么能用 wordpress 做到这一点,我看到这样的事情看看我修改后的问题
-
给定的代码有什么问题?你有什么努力让它发挥作用?
-
您尝试过什么让它发挥作用?根据该代码示例,您只需在包含名为
wp-submit的字段的 POST 请求上设置会话值,然后使用 GET 数组中存储的内容覆盖该会话变量referrer的每个先前包含的值,即使$_GET['r']的值没有设置为任何值
标签: php wordpress variables session