簡體   English   中英

PHP登錄允許電子郵件和用戶名

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM