gpt4 book ai didi

php - PHP登录系统-通过电子邮件或用户名进行用户登录

转载 作者:行者123 更新时间:2023-12-01 00:24:56 25 4
gpt4 key购买 nike

我想问一下如何仅使用一个功能通过电子邮件或用户名登录。我已经尝试过此代码

    function loginemail($username,$password)
{
$timestamp = time();
$time = date("d/m/y h:i:s a", $timestamp);
$sql = mysql_query("SELECT * FROM users WHERE username ='$username'");
$sql = mysql_query("SELECT * FROM users WHERE email ='$username'");
$row = mysql_fetch_assoc($sql);
$maintenance = mysql_query("SELECT * FROM settings");
$row2 = mysql_fetch_assoc($maintenance);
$main = $row2['maintenance'];

if($main == 1)
{
if($row['password'] == $password && $row['username'] == $username)
{
$query = mysql_query("INSERT INTO log (id,username,time,action) VALUES

(NULL,'$username','$time','Login')");
if(!$query)
{
echo "FAILED";
}
else
{
$_SESSION['username'] = $row['username'];
header('Location: /dash');
}
}
elseif($row['password'] == $password && $row['email'] == $username && $row['rank'] == 5)
{
$user = $row['username'];
$_SESSION['username'] = $row['username'];
$_SESSION['email'] = $row['email'];
header('Location: /user/chooser');
}
else
{
header("Location: /index/error");
}
}
else
{
if($row['password'] == $password && $row['username'] == $username)
{
$query = mysql_query("INSERT INTO log (id,username,time,action) VALUES

(NULL,'$username','$time','Login')");
if(!$query)
{
echo "FAILED";
}
else
{
$_SESSION['username'] = $row['username'];
header('Location: /dash');
}
}
elseif($row['password'] == $password && $row['email'] == $username)
{
$user = $row['username'];
$_SESSION['username'] = $row['username'];
$_SESSION['email'] = $row['email'];
header('Location: /user/chooser');
}
else
{
header("Location: /index/error");
}
}
}


但这对用户名部分无效。现在我已更改代码以使用php oop。所以这是我当前的代码。

class User {

public function check($uname,$passwd)
{
$p=md5($passwd);
$run=mysql_query("SELECT * FROM users WHERE username='$uname'");
$user_data = mysql_fetch_array($run);
$row=mysql_num_rows($run);
if ($row == 1)
{
$_SESSION['login'] = true; $_SESSION['username'] = $user_data['username'];
header('Location: /dash');
}
else
{
return FALSE;
}
}

public function logout()
{
$_SESSION['login'] = FALSE;
session_destroy();
}
}

最佳答案

尝试这个:

$user = mysql_query("SELECT * FROM users WHERE (username = '$username' OR email = '$email') AND password = '$password'");


编辑

由于输入的登录名是用户名或电子邮件,

$user = mysql_query("SELECT * FROM users WHERE (username = '$login_name' OR email = '$login_name') AND password = '$password'");

关于php - PHP登录系统-通过电子邮件或用户名进行用户登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16099233/

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