2009-10-03 8 views

回答

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'; 
+0

+1:我只是写一样的... – jeroen 2009-10-03 21:52:01

+0

对不起球员,新秀完整的问题。刚刚在那里测试过,它按计划运行。所以基本上会话变量是全局的,但他们在哪里“保持”? – 2009-10-03 22:10:58

+1

在服务器上。如果您没有更改任何内容,php-files处理程序会将会话数据保存到由session.save_path指定的目录中的文件中,请参阅http://docs.php.net/session.configuration#ini.session.save-path – VolkerK 2009-10-03 22:13:14

4

每当PHP页面加载时,只需拨打session_start();即可。这将或者1.如果不存在,则开始新的会话,或者2.重新启动之前建立的任何会话。为了使新的会话变量,这样做:如果你想终止会话,这样你就可以开始一个新的

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

,你可以这样做:

session_destroy(); 

如果你想删除所有会话变量,但不能杀死当前会话,你可以这样做:

session_unset(); 
1

简单: 上红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... 
}