**更新** 很棒的帮助,只需省略$ -sign in
即可解决这个问题 $dbusername = $row['$username_login'];
$dbpassword = $row['$password_login'];
到他们的列名。
$dbusername = $row['username'];
$dbpassword = $row['password'];
我正在玩PHP和MySQL,接下来是关于制作一个简单的社交网络的一些教程。我在尝试检查密码是否与用户名匹配时遇到了麻烦。
登录表单的代码:
<form action="login.php" method="POST">
<input type="text" size="25" name="user_login" id="user_login" placeholder="Username" />
<input type="password" size="25" name="password_login" id="password_login" placeholder="Password" /> <br />
<input type="submit" name="login" id="button" value="Login" />
</form>
用于验证数据的PHP代码片段(login.php):
$username_login = strip_tags($_POST["user_login"]);
$password_login = strip_tags($_POST["password_login"]);
if ($login) {
if ($username_login && $password_login) {
$connect = mysql_connect("localhost", "root", "") or die("Error connecting");
mysql_select_db("mono_social") or die("Could not find db");
$query2 = mysql_query("SELECT * FROM users WHERE username='$username_login'");
$numrow = mysql_num_rows($query2);
if ($numrow != 0) {
// LOGIN code
while ($row = mysql_fetch_assoc($query2)) {
$dbusername = $row['$username_login'];
$dbpassword = $row['$password_login'];
}
// Check to see if username and password match
if ($username_login==$dbusername && $password_login==$dbpassword) {
echo "You are in";
}
else {
echo "Sorry $username_login. Incorrect password!";
}
}
我还提供了用于检查是否有任何字段留空,或者用户名是否存在的代码。代码似乎适用于上述测试(空白字段和无效的用户名),但不是当我尝试使用有效的用户名和密码登录时。
对此的任何帮助都将受到高度赞赏:)
答案 0 :(得分:2)
可能您的列不会被称为'$ username_login'和'$ password_login'。
$dbusername = $row['$username_login'];
$dbpassword = $row['$password_login'];
也许您只需省略$(如果您的列名称为'username_login'和'password_login')
答案 1 :(得分:0)
上面的答案解决了你的问题;但是,在使用PHP时要注意以下几点,以避免将来出现问题:
由于您刚开始使用该语言,因此最好从右开始。
最后,如果答案对您有帮助,请接受。它允许其他人在将来帮助您。
希望这会有所帮助。