会话值不会传递到下一页

时间:2012-08-23 05:55:12

标签: php

基本上我想通过网址获取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?

5 个答案:

答案 0 :(得分:2)

您不会在下一页上从URL获取ID,可能是

echo $getId;

而你需要使用会话中的id,如

$_SESSION['session_browser_test']; // your id stored in session

答案 1 :(得分:1)

在每个页面中启动会话

 session_start();

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

echo $_SESSION['session_browser_test'];

答案 2 :(得分: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'];

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

答案 3 :(得分:0)

开始

session_start();

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

$_SESSION['session_browser_test'];

而不是将此sess变为自己的变量,然后在不同的地方调用它。

答案 4 :(得分: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'];
}