我創建一個會話,我想一個變量可用於整個站點,因此,例如:使用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