创建一个登录页面并请求 mysql

问题描述 投票:0回答:1

我想创建一个登录页面,允许用户获取链接到他们在 mysql 中的帐户的信息。

到目前为止我所做的是用行创建 mysql

  • 身份证
  • 用户名
  • 电子邮件
  • 订单号
  • ip_用户名
  • ip_密码

我希望登录此页面的用户能够通过输入 2 个关键的个人信息(例如电子邮件和订单号)或仅输入电子邮件或在登录时获得他们的

ip_username
ip_password
从表格中获取信息并显示
ip_username
ip_password

我已经创建的工作登录页面并显示 mysql 数据,但它显示了所有用户的所有数据,不特定于用户帐户。

$servername = "localhost";
$username = "xxxxxx";
$password = "xxxxxx";
$dbname = "xxxxxxx";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id , username, email, ip_username, ip_password, order_number FROM user";

$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "<b>Order Number:</b> " . $row["order_number"]. "<br><b>Username:</b> " . $row["ip_username"].  " <br> <b>Password:</b> " . $row["ip_password"]. " " . $row[""]. "<br>";
  }
} else {
  echo "0 results";
}
$conn->close();

我希望有人告诉我需要修改什么。

php mysql authentication mysqli
1个回答
0
投票

永远不要告诉人们他们的密码是什么。事实上,你根本不应该知道。

至少md5哈希它,所以我的

ip_password
是1c63129ae9db9c60c3e8aa94d3e00495

然后检查 md5(password_entered) =

ip_password
以上是密码1qaz2wsx。

如果他们不知道密码,请设置忘记密码系统。

你的sql也没有WHERE

$sql = "SELECT id , username, email, ip_username, ip_password, order_number FROM user";

所以它当然会选择表中的所有内容

user

$sql = "SELECT id , username, email, ip_username, ip_password, order_number FROM user WHERE `ip_username`='" . $username . "' AND `ip_password`='" . md5($password) . "'";

但正如 mickmackusa 评论的那样,您可能需要重新开始并重新考虑整体设置,尤其是安全方面。

© www.soinside.com 2019 - 2024. All rights reserved.