2014-10-10 217 views
0

我在整個php項目中使用jquery,所以所有頁面動態加載到主頁面,我試圖讓鏈接只對某個用戶可見,所以如果他們轉到主頁面並追加URL,即?mode = 55rt67,這會被存儲爲一個變量,並且可以在整個應用程序中進行檢查。我正在使用下面,但它不起作用。有什麼建議麼?PHP全局變量通過頁面

if (empty($_GET)) { 
$mode = "user"; 
}else{ 
define ('$mode', '($_GET['mode']); 
} 

回答

2

define用於聲明常量,你想使用一個變量,而不是常量。

被更新(使用會話存儲模式變量):

if (empty($_GET)) { 
    $_SESSION['mode'] = "user"; 
}else{ 
    $_SESSION['mode'] = $_GET['mode']; 
} 

而且不要忘了使用session_start每一頁

+0

但變量不會被帶到其他頁面。 – 2014-10-10 11:51:45

+1

如果您想在其他頁面中使用最簡潔的方式存儲會話,我會更新我的答案 – Sal00m 2014-10-10 11:52:41

+1

變量將在所有包含文件的全局範圍內或這些文件內的任何代碼(函數/類之外)中可用。另外,使用常量有什麼問題? – James 2014-10-10 11:54:43

0

與下面的代碼更改代碼。

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

「爲什麼」他們應該這樣做? – James 2014-10-10 11:55:44

+0

非常感謝您的幫助。 – 2014-10-10 12:43:54

0
if (empty($_GET)) { 
    $_SESSION['mode'] = "user"; 
}else{ 
    $_SESSION['mode'] = $_GET['mode']; 
} 

上述解決方案完美工作,增加在session_start索引頁,而現在通過其他頁面進行。

太棒了,謝謝所有