![](/img/trans.png)
[英]Storing passwords and usernames in a database; going from PHP hashed to SQL and back
[英]Usernames and passwords from database with php
我正在嘗試通過數據庫檢查用戶名和密碼。 但是,每次我嘗試使用密碼“ 12341”使用“管理員”帳戶登錄時,都不會得到我想要的結果。
的login.php
<div align="center" position="fixed" >
<form action="login_process.php" method="post">
<input name="username" type="text" value="" size="9"><br>
<input name="pass" type="password" value="" size="9"><br>
<input type="submit" value="Log in">
</form>
</div>
login_process.php
require_once('db_conn.php');
if (!isset($_POST['username']) || !isset($_POST['pass'])) {
echo 'U moet een gebruikersnaam en wachtwoord invoeren!';
exit;
}
$sql = "SELECT `username`,`password` \n"
. "FROM `tryusers` \n"
. "WHERE `username` = \'Admin\'\n"
. "AND `password` = \'12341\'";
$sql = "SELECT `username`,`password` FROM `tryusers` WHERE `username` = " . $_POST['username'] . " AND password = " . $_POST['pass'] . "";
$results = $conn->query($sql);
var_dump('postuser',$_POST['username'],'<br>');
var_dump('postpass',$_POST['pass'],'<br>');
if(!$results){
echo 'no results';
} else {
echo $results;
}
db_conn.php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "trybase";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
任何幫助表示贊賞。
問候,Sem
您必須在變量周圍加上引號:
$sql = "SELECT `username`,`password` FROM `tryusers` WHERE `username` = '" . $_POST['username'] . "' AND password = '" . $_POST['pass'] . "'";
或更好地使用准備好的語句。
您從表單粘貼數據時忘記了'。 順便檢查一下,因為您的代碼很危險。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.