0

我制作了一个登录脚本(http://pastebin.com/bCpXYwPq),我知道它很容易发生 SQL 注入,我稍后会修复它。

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

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

4

3 回答 3

2

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

像这样:

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

并再次抓住 $user:

session_start();
$users = unserialize($_SESSION['users']);
于 2013-10-09T20:26:07.183 回答
1

您需要深入研究会话(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
}
于 2013-10-09T20:29:38.877 回答
0

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

于 2013-10-09T20:31:31.920 回答