gpt4 book ai didi

php - 如何将我的 PHP session 调整为数组

转载 作者:行者123 更新时间:2023-11-29 08:20:02 24 4
gpt4 key购买 nike

我有这个 PHP 代码,我用它来触发用户登录。为了成功登录,用户使用他们注册的电子邮件和密码。我当前的 PHP 代码允许在使用 $_SESSION['loggedin'] = $dbusername 的任何页面上回显用户名。我现在想做的是调整这个 PHP 代码,将数组放入“loggedin” session 中。我希望该数组保存用户注册详细信息,即名字、姓氏、公司和电子邮件,以及他们的用户名(dbusername)。这是为了让我能够在“用户帐户页面”上回显此类详细信息

我的代码:

<?php

session_start();

$email = $_POST['email'];
$password = $_POST['password'];

if ($email&&$password)
{
$connect = mysql_connect("*****","***","**********") or die ("Login failed!");
mysql_select_db("dbname") or die ("Could not connect to Database");

$query = mysql_query("SELECT * FROM regusers WHERE email='$email'");

$numrows = mysql_num_rows($query);

if($numrows !=0)

{
while ($row = mysql_fetch_assoc($query))

{
$dbemail = $row['email'];
$dbpassword = $row['password'];
$dbusername = $row['username'];

}
if ($email==$dbemail&&$password==$dbpassword)

{
include 'loginIntro.php';
$_SESSION['loggedin']=$dbusername;

}

else
echo "Incorrect Password";

}

else
die ("That email doesn't exist");

}

else
die ("Enter a registered email and password");

?>

然后在我的“用户帐户页面”上我有这个:

<?php

session_start();
$dbusername = $_SESSION['loggedin'];

?>

为了回显用户名,这个 PHP 代码工作得很好,因为我所要做的就是:任何时候我想显示用户的用户名。那么回到我原来的问题 - 请传授必要的知识来调整此 PHP 代码以保存用户注册详细信息,以便我可以在使用相关 session 的任何页面上回显此类详细信息。请原谅我缺乏知识和理解,我已经抓破了头,我得到了 Gradle 帽——只有婴儿才会有,但在这个 PHP 游戏中我是一个胚胎。感谢您提供的任何帮助

最佳答案

$_SESSION 是一个数组

您可以简单地在其中保存一个关联数组。

$_SESSION['id'] = $x;
$_SESSION['username'] = $y;
$_SESSION['realname'] = $z;

或嵌套数组

$_SESSION['user']['id'] = $x;
$_SESSION['user']['username'] = $y;
$_SESSION['user']['realname'] = $z;

当心

  • 您正在使用已弃用的函数。
  • 不对传递的数据进行验证。
  • 存在 SQL 注入(inject)风险(看起来 100%)。
  • 正如 bwoebi 所说,您不能以明文形式保存密码。

建议阅读

关于php - 如何将我的 PHP session 调整为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19655821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com