gpt4 book ai didi

使用两个 mysql 表的详细信息进行 PHP 登录

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

我正在寻找一种使用两个 mysql 表中的详细信息进行登录的方法。我编写了一个代码,一切正常,但是当我登录时,它显示电子邮件或密码不正确的消息,然后登录成功。

这是我的代码:

if(isset($_POST['submit']))
{
$email = $_POST['Email'];
$password = $_POST['password'];

$checkUser1 = "SELECT * FROM table1 where theEmail = '$email' AND thePass = '$password' ";
$checkUser2 = "SELECT * FROM table2 where theEmail = '$email' AND thePass = '$password' ";

$run = mysql_query($checkUser1,$checkUser2);

if (mysql_num_rows($run) > 0){
$_SESSION['Email']= $email;

echo "<script>window.open('HomePage.php','_self')</script>";
} else {
echo "<script>alert('incorrect email or password !')</script>";
}
}

最佳答案

我将跳过以下事实:

  1. 不应以纯文本形式存储密码;使用 bcrypt 或 password_hash()相反。
  2. 应该使用准备好的语句(PDO/mysqli)并放弃使用已弃用的 mysql_ 函数;或者确保转义所有用户输入。
  3. 应仅使用单个表来存储用户凭据。

您可以简单地使用 JOIN:

$checkUser = sprintf("SELECT * 
FROM table1
INNER JOIN table2 USING (theEmail)
WHERE table1.theEmail = '%s' AND table1.thePass = '%s'",
mysql_real_escape_string($email),
mysql_real_escape_string($password)
);
mysql_query($checkUser) or die("Oops!");

关于使用两个 mysql 表的详细信息进行 PHP 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17891730/

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