我在整個php項目中使用jquery,所以所有頁面動態加載到主頁面,我試圖讓鏈接只對某個用戶可見,所以如果他們轉到主頁面並追加URL,即?mode = 55rt67,這會被存儲爲一個變量,並且可以在整個應用程序中進行檢查。我正在使用下面,但它不起作用。有什麼建議麼?PHP全局變量通過頁面
if (empty($_GET)) {
$mode = "user";
}else{
define ('$mode', '($_GET['mode']);
}
我在整個php項目中使用jquery,所以所有頁面動態加載到主頁面,我試圖讓鏈接只對某個用戶可見,所以如果他們轉到主頁面並追加URL,即?mode = 55rt67,這會被存儲爲一個變量,並且可以在整個應用程序中進行檢查。我正在使用下面,但它不起作用。有什麼建議麼?PHP全局變量通過頁面
if (empty($_GET)) {
$mode = "user";
}else{
define ('$mode', '($_GET['mode']);
}
define
用於聲明常量,你想使用一個變量,而不是常量。
被更新(使用會話存儲模式變量):
if (empty($_GET)) {
$_SESSION['mode'] = "user";
}else{
$_SESSION['mode'] = $_GET['mode'];
}
而且不要忘了使用session_start
每一頁
與下面的代碼更改代碼。
// Try this
if(isset($_GET['mode'])){
define ('mode',$_GET['mode']);
}else{
define ('mode',"user");
}
echo mode;
//OR
if(isset($_GET['mode'])){
global $mode = $_GET['mode'];
}else{
global $mode = "user";
}
echo $mode;
「爲什麼」他們應該這樣做? – James 2014-10-10 11:55:44
非常感謝您的幫助。 – 2014-10-10 12:43:54
if (empty($_GET)) {
$_SESSION['mode'] = "user";
}else{
$_SESSION['mode'] = $_GET['mode'];
}
上述解決方案完美工作,增加在session_start索引頁,而現在通過其他頁面進行。
太棒了,謝謝所有
但變量不會被帶到其他頁面。 – 2014-10-10 11:51:45
如果您想在其他頁面中使用最簡潔的方式存儲會話,我會更新我的答案 – Sal00m 2014-10-10 11:52:41
變量將在所有包含文件的全局範圍內或這些文件內的任何代碼(函數/類之外)中可用。另外,使用常量有什麼問題? – James 2014-10-10 11:54:43