[英]PHP login allow email and username
我在制作這個非常簡單的PHP登錄腳本方面有所幫助。 一切正常,但我一直將電子郵件放在用戶名字段中。 我真的不確定如何轉換此代碼來做到這一點,因為我已經幫助編寫了此文件以及其余文件! 我試圖查看有關此問題和其他人問題的其他論壇,但是在堆棧或其他站點上評論的所有答復都似乎不適用於我的代碼。
謝謝!
<?php
session_start();
include_once '../config.php';
// var_dump($_POST);
// exit();
$username = mysqli_real_escape_string($con, $_POST['username']);
$password = mysqli_real_escape_string($con, $_POST['password']);
$query = "SELECT * FROM users WHERE username = '". $username ."' AND password = '". $password ."'" ;
$result = mysqli_query($con, $query);
if (mysqli_num_rows($result) == 1) {
$_SESSION['username'] = $username;
$row = mysqli_fetch_assoc($result);
$_SESSION['username'] = $row['username'];
header('Location: ../dashboard/index');
} else {
header('Location: ../index.php?message=Username address or password is incorrect');
}
?>
<?php
session_start();
//Yes it is true
include_once '../config.php';
$username = mysqli_real_escape_string($con, $_POST['username']);
$password = mysqli_real_escape_string($con, $_POST['password']);
//prepared approach!
$query = $con -> prepare("SELECT username FROM users WHERE (username = ? or email = ?) AND password = ? ");
$query->bind_param('sss',$username,$username,$password);
$query->execute();
$query->store_result();
if($query->num_rows>0){
//therefore the USER exists!!!!!
//Please dont fetch the same username again because it alreadmatched here.
$_SESSION['username'] = $username;
header('Location: ../dashboard/index');
}else{
header('Location: ../index.php?message=Username address or password is incorrect');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.