使用PHP设置会话时,如何使其成为整个站点的全局?

时间:2009-10-03 21:45:34

标签: php session persistence

我正在创建一个会话,我希望变量可用于整个站点,例如:

Joe Soap登陆名为 red-widgets.php 的网页, - Joe的会话变量让我们说'red-widgets'。然后Joe点击另一个名为 blue-widgets.php 的页面。我希望session变量仍然是原来的'red-widgets'。

如何使用网址完成此操作?

3 个答案:

答案 0 :(得分:4)

您不仅限于一个会话变量,您可以拥有所需数量。

session_start();

if ( !isset($_SESSION['widget']) ) {
  $_SESSION['widget'] = 'i am changed only if there isnt already a widget session var';
}

$_SESSION['someOtherVar'] = 'i am being changed on every page';

答案 1 :(得分:4)

每当加载PHP页面时,只需调用session_start();即可。这将是1.如果不存在则启动新会话,或者2.重新启动先前建立的任何会话。要创建新的会话变量,请执行以下操作:

session_start(); // start or restart the session
$_SESSION['mySessionVariableName'] = "My session variable value.";

如果你想杀死一个会话以便你可以开始一个新会议,你可以这样做:

session_destroy();

如果要删除所有会话变量但不要终止当前会话,可以执行以下操作:

session_unset();

答案 2 :(得分:1)

简单: 在red-widgets.php上:

 session_start(); 
 $_SESSION['red-widgets'] = 1;

on blue-widgets.php:

session_start();
 if(!$_SESSION['red-widgets']){
  //Joe weren't on red-widget.php, diffrent action here...
}