加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

用php登录用户名或电子邮件地址

发布时间:2020-12-13 22:41:29 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试使用用户名或电子邮件创建登录 我的代码是: $username=$_REQUEST['login'];$email=$_REQUEST['login'];$password=$_REQUEST['password'];if($username $password) { $query="select * from user_db where username='$username' and password='$pa
我正在尝试使用用户名或电子邮件创建登录

我的代码是:

$username=$_REQUEST['login'];
$email=$_REQUEST['login'];
$password=$_REQUEST['password'];

if($username && $password) {
  $query="select * from  user_db where username='$username'  and password='$password'";
} else if ($email && $password) {
  $query="select * from  user_db where email='$email' and password='$password'";
}

使用用户名登录成功但使用电子邮件登录无效.请帮我!

电子邮件和用户名的log??in参数相同.如果您有一个接受任何一个的登录框,则不完全错误.

如果您不确定它是电子邮件还是用户名,您可以将条件放在查询中.

$login=$_REQUEST['login'];
$query = "select * from  user_db where ( username='$login' OR email = '$login') and password='$password'"

编辑:
现在更加优选类似PDO的解决方案,因为上述内容受SQL注入.逻辑保持不变,但你看起来像这样:

$query = "
    SET @username = :username
    SELECT * FROM user_db
       WHERE ( username = @username OR email = @username) 
       AND password = :password
";

$statement = $pdoObject->prepare($query);
$statement->bindValue(":username",$login,PDO::PARAM_STR);
$statement->bindValue(":password",$password,PDO::PARAM_STR);
$statement->execute();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读