我有很多文件,包括一个到另一个,如下所示,
File1
已包含在File2
中,然后File2
位于File3
现在我想从File1声明一个会话变量site_user_conutry
然后我在File2上检查如果会话变量中没有任何值那么只有我包括File1.php
我已经在每个[年龄段添加了session_start();
但仍然没有工作?
请告诉我如何在上述条件下开会。
答案 0 :(得分:2)
在File2中
if ($_SESSION["site_user_country"] != null)
{
include_once(File3);
}
答案 1 :(得分:2)
在第一行代码中只执行一次session_start。
文件说: 从版本4.4.3开始,在会话已经启动时调用session_start()将导致级别E_NOTICE的错误。此外,第二个会话开始将被忽略。
如果file1包含在file2中,则file2中的代码在file1之前完成。所以如果你声明file1中的某些东西可能在file2中看不到(取决于代码......),反正它不是现代的方式pf php编程。 (见oo和__autoload)
答案 2 :(得分:1)
您如何设置会话变量?你应该尝试这样设置:
$_SESSION['site_user_conutry'] = 'United-Kingdom';
您是否将session_start()放在文档的最顶部,或者至少在输出任何信息之前?
答案 3 :(得分:1)
假设您要包含具有代码执行功能的文件,而不是函数。
包含File1和设置会话变量的代码必须在第一次迭代时在File2上的代码之前执行。
在下一次迭代中,会话将为您保存值。
要设置会话变量,请使用$ _SESSION全局数组。
$_SESSION["name"] = "value";