(PHP)登录不起作用

时间:2012-10-20 22:43:02

标签: php login

今天我制作了一个应该登录的代码,但遗憾的是它不会。

这是我试过的:

include('php/mysqlcon.php');
if($_SERVER['REQUEST_METHOD'] == 'POST') {
    $username = $_POST['username'];
    $password = sha1($_POST['password']);
    $query = mysql_query("SELECT * FROM user WHERE username=$username AND password=$password");
    $query_rows = mysql_num_rows($query);
    if($query_rows > 0) {
        session_start();
        $_SESSION['username'] = $username;
        header('Location: index.php');
    } else {
        echo('bad login');
    }
}

mysql详细信息在mysqlcon.php中,我确定它们是正确的

4 个答案:

答案 0 :(得分:7)

您需要在查询中输入用户名和密码的引号。此外,请确保过滤输入,因为您的代码很容易注入mysql。

答案 1 :(得分:2)

在创建mysql查询时,您需要将$username$password包装在引号中,目前在大多数情况下最终会出现错误查询。

你还应该google“如何防止sql-injection php”,当你遇到这种类型的攻击时(这会导致严重的麻烦)。

答案 2 :(得分:0)

使用预准备语句并将凭据放入SQL查询的参数中。

答案 3 :(得分:0)

"SELECT * FROM user WHERE username='$username' AND password='$password'"