如何使变量可以在任何页面上访问?

时间:2013-10-09 20:24:35

标签: php

我已经创建了一个登录脚本(http://pastebin.com/bCpXYwPq),我知道它很容易被SQL注入,我以后会修复它。

无论如何,我需要变量'$ users',所以我可以在任何地方回应它。

示例:在帐户页面上,我希望它回显电子邮件地址。 如果变量只存储在登录脚本中,我该怎么做?

3 个答案:

答案 0 :(得分:2)

将序列化变量$users放在$_SESSION

上 像这样:

session_start();
$_SESSION['users'] = serialize($users);

再次抓住$用户:

session_start();
$users = unserialize($_SESSION['users']);

答案 1 :(得分:1)

您需要深入研究会话(http://php.net/manual/en/features.sessions.php

的login.php:

session_start();
$_SESSION["username"]=$username;
$_SESSION["email"]=$email;
$specialdata=array("a","b","c");
$_SESSION["specialdata"]=serialize($specialdata);

在所有其他页面上,您需要访问该数据:

session_start();
if(!isset($_SESSION["username"]))
{
// User not logged in
echo "You aren't logged in"
}
else
{
// Logged in
echo "The username is: " . $_SESSION["username"];
echo "Your email is: " . $_SESSION["email"];
$specialdata=unserialize($_SESSION["specialdata"]);
echo "First element of special data: " . $specialdata[0]; // Prints a
}

答案 2 :(得分:0)

<强>会话即可。 definetly。在所有页面上使用session_start();,以便在登录页面上激活会话,只需声明$_SESSION['username'];,您就可以在任何地方使用$_SESSION['username'];