首先。我是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