gpt4 book ai didi

php - 创建 PHP 多用户登录

转载 作者:行者123 更新时间:2023-11-29 08:46:34 25 4
gpt4 key购买 nike

我有一个有2个表的数据库,table1只存储id、用户名和密码,而table2存储id、用户名、日期和其他信息。我现在的问题是,如何设置我的代码,以便每次用户 A 登录并单击“查看个人资料”时,他或她只能根据用户名看到自己的个人资料,而看不到其他人的个人资料。用户B、用户C、用户D等也是如此。

我的日志代码是:

session_start();

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

if ($username&&$password)

{
$connect = mysql_connect("localhost","root","") or die("cannot connect!");
mysql_select_db("uloaku") or die("cannot find data base!");
$query = mysql_query ("SELECT * FROM keyaku WHERE username='".mysql_real_escape_string($username)."' AND password='".mysql_real_escape_string($password)."'");
$numrows = mysql_num_rows($query);

if ($numrows!=0)
{
while ($row = mysql_fetch_assoc($query))
{
$dbusername = $row['username'];
$dbpassword = $row['password'];
}
if ($username==$dbusername&&$password=$dbpassword)
{
echo "Welcome $username";
}
else
echo "Invalid Password";
}
else
die("Invalid User");

}

else
die("Please Enter a UserName and Password.");

?>

我查看个人资料的代码是:

<?php
session_start();
$con = mysql_connect("localhost","root","");
mysql_select_db("uloaku", $con);
$count = 1;

$y = mysql_query("SELECT * FROM transaction WHERE id=24");
if(mysql_num_rows($y) != 0){

echo "<table border=\"1\" width=\"800\" >";
echo "<tr id=\"bold\">
<td>No</td>
<td align=\"center\" width=\"120\">Account Owner</td>
<td align=\"center\" width=\"120\">Deposit Date</td>
<td align=\"center\" id=\"bold\" width=\"120\">Current Balance</td>
<td align=\"center\" id=\"bold\" width=\"90\">Intrest</td>
<td align=\"center\" width=\"150\">Available Balance</td>
<td align=\"center\">Account Status</td>
</tr>";

while ($z = mysql_fetch_array($y, MYSQL_BOTH)){
echo "<tr>
<td>".$count++."</td>
<td id=\"color\" align=\"center\">".$z[1]."</td>
<td id=\"color\" align=\"center\">".$z[2]."</td>
<td id=\"color\" align=\"center\">".$z[3]."</td>
<td id=\"color\" align=\"center\">".$z[4]."</td>
<td id=\"color\" align=\"center\">".$z[5]."</td>
<td id=\"color3\" align=\"left\">".$z[6]."</td>
</tr>";
}
echo "</table>";
}
?>

希望有人可以帮助我,如果给出完整的代码例如或更正,我将非常感激,以便其他有类似问题的人可以引用并进行更正。谢谢

最佳答案

您可以使用sessions为了这。使用 session_start() 启动需要信息的每个脚本。之后,您可以将超全局 $_SESSION 用作数组(非常类似于 $_POST)。 $_SESSION 数组的内容在请求之间保存。

所以你可以做的是:

  • session_start() 放在所有脚本的顶部
  • 当用户登录时,将其 ID 保存在 $_SESSION 数组中(例如:$_SESSION['logged_in'] = $row['userid']) ;
  • 在后续页面中,您可以使用 $_SESSION['logged_in'] 获取调用登录脚本的用户 ID。

关于php - 创建 PHP 多用户登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12420191/

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