我有一个index.php
,one.php
文件。
在one.php中我启动会话并设置会话var:
session_start();
if(isset($_GET['user'])){
$_SESSION['user'] = $_GET['user'];
}
function getUsername(){
return $_SESSION['user'];
}
我在调用函数getUsername()
后在index.php中包含one.php
我没有在index.php
include_once('one.php');
echo getUsername();
但是我没有在index.php
中获得会话。为什么?我把变量传递给
index.php?user=newuser .
是否无法在没有启动会话的所有页面中获取会话。是否有任何可能的方法从任何地方获取全局变量,如果我设置一次..?
答案 0 :(得分:1)
如果没有启动会话,则无法在所有页面中获取会话。所以基本上,你需要遵循以下两种方式之一: -
<?php
session_start();
// Other Lines of Code
common.php
),该页面在该公共页面的最开头有一行(session_start();
)。基本上,这个特定的陈述(session_start();
)是使用会话的核心。
现在根据您的问题,页面&#34; one.php
&#34;必须在一开始就包括在内。所以应该有效。
希望它有所帮助。
答案 1 :(得分:0)
$_SESSION
是全球性的。但只有在调用session_start
后才会初始化。
答案 2 :(得分:0)
session_start()。
<?php
(1):
<?php
error_reporting(E_ALL);
(2):
var_dump($_SESSION);
答案 3 :(得分:0)
将session_start
添加为index.php中的第一行。并且没有必要添加one.php,因为$_SESSION
是全局的,您可以访问one.php中的变量
答案 4 :(得分:0)
对于每个会话,顶部的session_start()必不可少
session_start()
尝试
print_r($_SESSION)
您可以调试所有SESSION值。