我在整个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