2012-08-23 32 views
1

基本上我想通过url(例如www.website.com/?id=432432)抓取一个id发送,并将其与我的网站相关联,直到用户点击联系页面。我创建了一个变量,变量会话价值不传递到下一页

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

一个会话,并在我的index.php Joomla模板使用

echo $adv_id; 

所以它适用于所有页面。

但问题是,当我去www.website.com/?id=432432它与我的网页上的ID相呼应,但如果我点击下一个链接转到另一个页面(例如www.website .com/nextPage)它不会保留上一页的会话值。这是为什么?以及我如何通过网站携带身份证件?

+4

你做了'session_start()'吗? – xdazz

+0

是的,我做到了。对不起,忘了提。 – nasty

+0

确实_you_变成了_off_饼干? (sry) – TheHe

回答

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']; 
} 
1

在每一页

session_start(); 

启动会话为了访问会话变量,你必须调用$ _SESSION变量。

echo $_SESSION['session_browser_test']; 
2

,你不会得到从下页网址的ID,可能

echo $getId; 

,而不是你需要使用的ID从会议一样,

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

我正在努力做同样的事情,你说的。但它没有出现。 – nasty

0

HTTP是无状态的,所以你必须做些事情来记住整个网站的变量。 请确保您正确使用会话,如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管理变量,而不使用会话。它会帮助你。 快乐编码!

+0

谢谢@Gaurav。但我使用Joomla。 – nasty

0

开始

session_start(); 

在您的应用程序的根目录(如果未启动)在index.php(会话可能会开始每隔几页),然后调用(需要时):

$_SESSION['session_browser_test']; 

,而不是将这个sess var赋给你自己的变量,然后在不同的地方调用它。

相关问题