我想创建一个登录页面,允许用户获取链接到他们在 mysql 中的帐户的信息。
到目前为止我所做的是用行创建 mysql
我希望登录此页面的用户能够通过输入 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();
我希望有人告诉我需要修改什么。
永远不要告诉人们他们的密码是什么。事实上,你根本不应该知道。
至少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 评论的那样,您可能需要重新开始并重新考虑整体设置,尤其是安全方面。