我创建一个会话,我想一个变量可用于整个站点,因此,例如:使用PHP设置会话时,如何将其设置为整个站点的全局?
一个名为 红widgets.php页面上乔肥皂土地, - 乔的会话变量是假设“红色小工具”。 Joe然后点击另一页blue-widgets.php。我希望session变量仍然是原来的'red-widgets'。
这怎么可以与URL完成?
我创建一个会话,我想一个变量可用于整个站点,因此,例如:使用PHP设置会话时,如何将其设置为整个站点的全局?
一个名为 红widgets.php页面上乔肥皂土地, - 乔的会话变量是假设“红色小工具”。 Joe然后点击另一页blue-widgets.php。我希望session变量仍然是原来的'red-widgets'。
这怎么可以与URL完成?
您不仅限于一个会话变量,您可以拥有尽可能多的所需。
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';
每当PHP页面加载时,只需拨打session_start();
即可。这将或者1.如果不存在,则开始新的会话,或者2.重新启动之前建立的任何会话。为了使新的会话变量,这样做:如果你想终止会话,这样你就可以开始一个新的
session_start(); // start or restart the session
$_SESSION['mySessionVariableName'] = "My session variable value.";
,你可以这样做:
session_destroy();
如果你想删除所有会话变量,但不能杀死当前会话,你可以这样做:
session_unset();
简单: 上红widgets.php:
session_start();
$_SESSION['red-widgets'] = 1;
上蓝widgets.php:
session_start();
if(!$_SESSION['red-widgets']){
//Joe weren't on red-widget.php, diffrent action here...
}
+1:我只是写一样的... – jeroen 2009-10-03 21:52:01
对不起球员,新秀完整的问题。刚刚在那里测试过,它按计划运行。所以基本上会话变量是全局的,但他们在哪里“保持”? – 2009-10-03 22:10:58
在服务器上。如果您没有更改任何内容,php-files处理程序会将会话数据保存到由session.save_path指定的目录中的文件中,请参阅http://docs.php.net/session.configuration#ini.session.save-path – VolkerK 2009-10-03 22:13:14