2016-04-28 329 views
-1

我对PHP很新,我想知道如何从一个文件获取变量到另一个文件。PHP从另一个文件获取变量

例如,我想使用设置在Login.php文件中的变量$email,并将其用于Candidate.php文件中。

问题是,在Login.php文件中,我初始化这个$email变量$_POST数据,所以我怀疑我可以在另一页上使用include()来访问变量。

我的问题是,我可以使用include()在不同于他们声明的页面上使用我的变量;或者什么是一些有效的方法来做到这一点?

预先感谢您。

+1

问题不清楚。 –

+1

^得到了正确的。 –

+0

好吧,你有下面的答案;问他们。就我个人而言,如果你问我并且不知道我们在这里处理的究竟是哪种动物,我认为到目前为止所给出的仅仅是触发器的一小部分。 –

回答

2

有许多不同的方法可以做到这个,我会和你分享2。

INCLUDE

可以在事实上include()它使用第三文件,但我不建议作为会议是容易得多。但是,如果你想要一个配置类型文件,这也很有用。

顶部的login.php的:

include('global.php'); 

新文件:global.php candidate.php的

if (session_status() == PHP_SESSION_NONE) { 
     session_start(); 
    } //start sessions if it isn't already started. 
    if(isSet($_POST['email'])) { //Check if email variable is POSTED 
     $email = $_POST['email']; //Set session variable "Email" to the posted data. 
    } 

顶部

include('global.php'); 

你要包括全球文件在写入任何包含$ email的文件之前。这种方法的另一个亮点是你只需要一次启动会话(如果你在全局文件中启动它们),因为当你将它包含在其他页面上时,它会自行处理。


SESSIONS

在您要访问一个全局变量,你可以使用任何会话页面的顶部。

顶部的login.php的:

if (session_status() == PHP_SESSION_NONE) { 
    session_start(); 
} //start sessions if it isn't already started. 
if(isSet($_POST['email'])) { //Check if email variable is POSTED 
    $_SESSION['email'] = $_POST['email']; //Set session variable "Email" to the posted data. 
} 

上Candidate.php:

if (session_status() == PHP_SESSION_NONE) { 
    session_start(); 
} //start sessions if it isn't already started. 
echo $_SESSION['email']; //You can call this variable on any page that has sessions started 

希望我帮你!

+0

好的答案,但*“我的2分钱”*:最好还检查会话是否设置为Candidate.php(或所有使用会话的文件)为空,因为这可能会产生误报和/或潜在错误。 –

+0

我会补充一点,因为我总是在我自己的网站上做这件事,以避免这种恼人的通知。谢谢。 – GrumpyCrouton

+0

不客气。 –

-1

您的数据存储在在排序所需时间变数会议

+0

这不是一个答案。请避免提供建议作为答案。使用评论框。 –

相关问题