[英]User login (using sessions) trouble
我正在嘗試建立一個登錄系統,以便用戶登錄我的網站。 由於某種原因,我似乎無法使我的代碼識別用戶的存在,它始終認為該用戶在我的數據庫中不存在,即使存在。 我希望有人可以查看我的代碼並告訴我是否有問題,因為我找不到任何錯誤。
另外,我應該提一下,我非常清楚這段代碼中的任何一個都不安全,我想暫時將其保留。
這是我的表格信息:
<!-- Login form -->
<div id="userLogin">
<form name="user_login" id="Login" method="post" action="loginSF.php">
Username : <input type="text" name="yourUsername" id="username" ><br />
<span id="usernameWarnings" style="color:black"> </span> <br />
Password : <input type="password" name="yourPassword" id="userPassword" > <br />
<span id="passwordWarnings" style="color:black"> </span> <br />
<input type="submit" value="login" onclick="return validateLoginForm()" >
</form>
</div>
這是我的loginSF.php的PHP代碼:(已通過SQL修復程序更新)(問題仍然存在)
<?php
session_start(); // starts session
require_once 'databaseLogin.php'; //login info
$db_server = mysqli_connect($db_hostname, $db_username, $db_password, $db_database); //connection
if(mysqli_connect_errno($db_server))
{
echo "failed to connect to mySQL: " . mysqli_connect_error();
}
//$loggedIn = mysqli_query($db_server,"SELECT User_Name FROM members");
$username = $_POST['yourUsername'];
$password = $_POST['yourPassword'];
$query = "SELECT `User_Name`, `Password` FROM `members` WHERE User_Name='$username' AND Password='$password'";
$loggedIn = mysqli_query($db_server, $query);
// check username and password match
if(mysqli_num_rows($loggedIn) == 1)
{
echo "Login Successful";
}
else
{
echo "Login failed";
}
?>
數據庫中的用戶:
345測試儀
您的代碼容易受到攻擊。 我認為這只是一個學習項目
更改
$query = "SELECT 'User_Name', 'Password' FROM `members` WHERE User_Name='$username' AND Password='$password'";
至
$query = "SELECT `User_Name`, `Password` FROM `members` WHERE User_Name='$username' AND Password='$password'";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.