很長一段時間我一直使用用戶名作爲唯一的選項登錄到我的網站帳戶,但大多數用戶忘記了他們的用戶名,所以我想添加電子郵件和用戶名作爲登錄選項。如何允許電子郵件以及用戶名登錄賬戶?
這裏是我的代碼來創建會話並登錄用戶。
<?php
if(isset($_POST["user_login"]) && isset($_POST["password_login"])) {
$user_login = preg_replace('#[^[email protected]_\(\)\']#i', '', $_POST["user_login"]);
$password_login = preg_replace('#[^[email protected]_]#i', '', $_POST["password_login"]);
$md5password_login = md5($password_login);
$sql = mysql_query("SELECT id FROM users WHERE username='$user_login' AND password='$md5password_login' LIMIT 1");
//check for their existance
$userCount = mysql_num_rows($sql); //count the number of rows returned
if ($userCount == 1) {
while($row = mysql_fetch_array($sql)) {
$id = $row["id"];
}
$_SESSION["id"] = $id;
$_SESSION["user_login"] = $user_login;
$_SESSION["password_login"] = $password_login;
exit("<meta http-equiv=\"refresh\" content=\"0\">");
} else {
echo "Your Username or Password is Incorrect. please try again.";
exit();
}
}
?>
如何添加用戶名登錄電子郵件?
注意:教我php的老師向我展示瞭如何使用mysql_query,而不是最新版本,我知道它已被棄用,所以我已經更改了所有的查詢,這是一箇舊代碼。
兩個用戶名和電子郵件應該在你的電子郵件是獨一無二的。提交登錄表單後,檢查字符串是否包含'@',如果是,請檢查電子郵件地址和密碼,否則請檢查用戶名和密碼 –