我制作了一个登录脚本(http://pastebin.com/bCpXYwPq),我知道它很容易发生 SQL 注入,我稍后会修复它。
无论如何,我需要变量'$users',所以我可以在任何地方回显它。
示例:在帐户页面上,我希望它回显电子邮件地址。如果变量只存储在登录脚本中,我该怎么做?
我制作了一个登录脚本(http://pastebin.com/bCpXYwPq),我知道它很容易发生 SQL 注入,我稍后会修复它。
无论如何,我需要变量'$users',所以我可以在任何地方回显它。
示例:在帐户页面上,我希望它回显电子邮件地址。如果变量只存储在登录脚本中,我该怎么做?
将序列化变量$users
放在$_SESSION
像这样:
session_start();
$_SESSION['users'] = serialize($users);
并再次抓住 $user:
session_start();
$users = unserialize($_SESSION['users']);
您需要深入研究会话(http://php.net/manual/en/features.sessions.php)
登录.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
}
会议。明确地。在所有页面上使用session_start();
,以便在登录页面上激活会话,只需声明$_SESSION['username'];
即可,您可以$_SESSION['username'];
在任何地方使用。