首先。我是PHP/SQL和StackOverflow的新手,所以如果我的帖子很奇怪,我很抱歉。我很難弄清楚我的代碼有什麼問題。我註冊了幾個用戶(每個用戶的密碼都是c),但我只登錄失敗。如果這是錯誤的,是我的嗎?用戶認證PHP/SQL
謝謝。
<?php
session_start();
//Connecting and choosing DB
$connection = mysql_connect("link", "user", "pw");
mysql_select_db("user", $connection);
$username = mysql_real_escape_string($_POST['brukernavn']);
$password = mysql_real_escape_string($_POST['passord']);
// Check the users input against the DB.
$sql = "SELECT * FROM brukere WHERE brukernavn = '$username' AND passord = '$password'";
$result = mysql_query($sql) or die ("Unable to verify user because " . mysql_error());
$row = mysql_fetch_assoc($result);
if($row['total'] == 1)
{
$_SESSION['loggedIn'] = "true";
header("Location: insertlink");
}
else
{
$_SESSION['loggedIn'] = "false";
echo "<p>Login failed, username or password incorrect.</p>";
}
?>
我知道你說你是PHP/MySQL的新手,所以我建議開始時不要使用mysql_ *函數。看看mysqli或PDO(後者是我個人的偏好)。我們還需要查看您的註冊碼。你是否在保存密碼時加密密碼? – muttley91 2014-10-02 23:04:48
1.'mysql_ *'已棄用,請使用'mysqli_'或'PDO'。 2.你在你的數據庫中存儲明文密碼,這是非常糟糕的。 – lxg 2014-10-02 23:04:53
@lxg - 我希望我可以給大約100個upvotes ... – 2014-10-02 23:12:19