PHP登录数据库phpmyadmin不起作用

时间:2014-10-06 17:51:07

标签: php mysqli phpmyadmin

我正在处理一个项目,但我的登录表单工作不正确..

这是我的登录表格

<form action="login.php" method="post">
    <input type="text" name="gebruikersnaam" placeholder="gebruikersnaam">
    <input type="password" name="wachtwoord" placeholder="wachtwoord">
    <button type="submit" name="login">Login</button>
</form>

这是我的PHP

require_once('connection.php');

    if (isset($_POST['login'])){
        $gebruikersnaam = mysqli_real_escape_string($connection, $_POST['gebruikersnaam']);
        $wachtwoord = mysqli_real_escape_string($connection, $_POST['wachtwoord']);
        $sql = "SELECT `password` FROM 'i296297_studie'. 'users' WHERE `username`= '$gebruikersnaam'";

        $check = mysqli_query($connection, $sql);

        $row = mysqli_fetch_array($check);

        if (mysqli_num_rows($check) == 0){
            echo "username / password are wrong";
        } elseif ($row['password']==$wachtwoord) {
            echo "U are logged in";
        } else {
            echo "password not correct";
        }
    }

连接正在运行.. 这些是我得到的错误

警告:mysqli_fetch_array()要求参数1为mysqli_result,在&#34; PHP FILE&#34;中给出布尔值。第37行警告:mysqli_num_rows()期望参数1为mysqli_result,第40行/home/i296297/domains/i296297.iris.fhict.nl/public_html/php31/eindopdracht/login.php中给出的布尔值用户名/密码错误

1 个答案:

答案 0 :(得分:1)

您使用的是数据库/表格的错误标识符,是单引号。

你在哪里:

FROM 'i296297_studie'. 'users'
     ^              ^  ^     ^

使用反引号:

FROM `i296297_studie`. `users`

使用mysqli_error()mysqli_query()会发出语法错误信号。


密码相关

我注意到您可能以纯文本格式存储密码。如果是这种情况,则非常气馁。

我建议您使用CRYPT_BLOWFISH或PHP 5.5的password_hash()功能 对于PHP&lt; 5.5使用password_hash() compatibility pack