1

基本上我想通过 url 获取一个 id 发送(例如 www.website.com/?id=432432)并将它带到我的网站上,直到用户点击联系页面。我创建了一个变量和一个会话变量

session_start();
$getId = $_GET["id"];
$_SESSION['session_browser_test'] = $getId;
$adv_id = $_SESSION['session_browser_test'];

并使用

echo $adv_id; 

在我的 index.php Joomla 模板上,因此它适用于所有页面。

但问题是当我访问 www.website.com/?id=432432 时,它会在我的网页上回显 id,但是如果我单击下一个链接转到另一个页面(例如 www.website.com/nextPage ) 它不保存上一页的会话值。这是为什么?以及如何将 ID 携带到整个站点?

4

5 回答 5

2

您可能不会从下一页的 URL 中获得 id

echo $getId;

相反,您需要使用会话中的 id,例如,

$_SESSION['session_browser_test']; // your id stored in session
于 2012-08-23T06:01:46.380 回答
1

在每个页面中启动会话

 session_start();

为了在会话中访问变量,您必须调用 $_SESSION 变量。

echo $_SESSION['session_browser_test'];
于 2012-08-23T05:58:50.653 回答
0

HTTP 是无状态的,因此您必须做一些事情来记住整个网站的变量。确保正确使用 session ,例如 session_start(); 当您通过 get 方法发送您的 id 时,它可以工作,但是当您转到任何其他页面时,记住这一点没有任何意义。使用它通过页面发送 id:

<?php echo get_permalink(910); ?>?userid=<?php echo $value['userId'];?>

在 url 中发送并在下一页上使用:

$sql = "select * from `wp_pelleresuser` where userId =".$_GET['userid'];

使用这种方法,您可以在您想要的每个页面上使用单个变量,而无需使用会话。尝试 google 到 wordpress 如何在不使用会话的情况下通过所有页面管理变量。它会帮助你。快乐编码!

于 2012-08-23T06:07:15.623 回答
0

开始

session_start();

(如果未启动)在应用程序根目录中的 index.php 中(会话可能会在每个页面上启动),然后调用(如果需要):

$_SESSION['session_browser_test'];

而不是将此 sess var 分配给您自己的变量,然后在不同的地方调用它。

于 2012-08-23T06:20:00.700 回答
0
if(isset($_GET["adv_id"])){ 
  $_SESSION['session_browser_test2'] = $_GET["adv_id"];
  $adv_id = $_SESSION['session_browser_test2'];
}
else {
  $adv_id = $_SESSION['session_browser_test2'];
}
于 2012-10-11T03:18:43.413 回答