2009-05-29 56 views
1

我有multple许多文件包括一个到另一个像下面,如何在PHP中使用Session和Include语句?

File1包括在File2然后File2正在File3

现在我想从File1中定义一个session变量site_user_conutry然后我检查File2,如果在会话变量中没有任何值,那么只有我包括File1.php

我在每个[年龄但仍然不工作?]中添加了session_start();

请告诉我如何让会议在上述条件下工作。

回答

1

你是如何设置会话变量?你应该尝试设置它像这样:

$_SESSION['site_user_conutry'] = 'United-Kingdom'; 

你放置在session_start()在文档的最顶端,或者至少你输出之前的任何信息?

+0

是的,我按照您演示的方式宣布了会话。并且我在每个页面的顶部添加session_start()。 – Prashant 2009-05-31 07:08:25

2

在文件2

if ($_SESSION["site_user_country"] != null) 
{ 
    include_once(File3); 
} 
1

假设您包含具有代码执行的文件,而不是函数。

包含File1并设置会话变量的代码必须在第一次迭代时在File2上的代码之前执行。

在接下来的迭代中,会话将为您保存值。

要设置会话变量,请使用$ _SESSION全局数组。


$_SESSION["name"] = "value"; 
2

只在第一行代码中执行session_start一次。

文档说明: 从版本4.4.3开始,在会话已经启动时调用session_start()会导致E_NOTICE级别的错误。另外,第二场会议开始将简单地忽略

如果file1包含在file2中file2中的代码在file1之前完成。所以,如果你在file1中声明的东西可能不会在file2中看到(取决于代码...),反正它不是现代化的PHP编程方式。 (请参阅oo和__autoload)

相关问题