ai didi

php - 使用用户名或电子邮件登录

转载 作者:可可西里 更新时间:2023-11-01 06:52:49 24 4
gpt4 key购买 nike

我正在尝试让我的用户使用电子邮件或用户名登录。目前只接受用户名。我的工作 SQL 如下所示:

$sql = "SELECT * FROM customers WHERE login = '".$username."' AND password = '".$password."'";

信息:

  • $username 的值为 $_POST['username']
  • $password 的值为 md5($_POST['password'])

现在我想将其扩展到客户可以在其个人资料中输入的电子邮件地址。我的 SQL 看起来像这样:

$sql = "SELECT * FROM customers WHERE (login = '".$username."' OR email = '".$username."') AND password = '".$password."'";

我将检查此 SQL:

$result = mysql_query($sql);    
mysql_num_rows($result)

但是目前还不行。如果我在我的 SQL 中使用 ORmysql_num_rows 返回 0。可能是什么问题呢?还是有另一种更好的方法来实现这一目标?

最佳答案

试试这个:用户名可能有用户名或电子邮件 ID,对吗?所以首先检查用户名字符串中是否有“@”符号。

也就是

if(stripos($username,'@') !== FALSE){
$sql = "SELECT * FROM customers WHERE email = '".$username."' AND password = '".$password."'";
}else{
$sql = "SELECT * FROM customers WHERE login = '".$username."' AND password = '".$password."'";
}

因此,如果条件成功,则电子邮件将被验证。否则将验证登录名

关于php - 使用用户名或电子邮件登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16436704/

24 4 0
文章推荐: Mysql + django 异常: "Commands out of sync; you can' t run this command now"
文章推荐: ios - Firebase 和 Swift - 延迟更改 ViewController 直到读取数据
文章推荐: swift - 滚动影响内部数据时调用 reloadData()
文章推荐: python - 在另一列之后添加列
可可西里
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com