php mysql 验证错误

标签 php mysql

我知道这个问题以前曾被问过,我已经搜索过但无法解决我的问题。每当我运行此代码时,我都会收到“无效登录”消息。用户名和密码保存在mysql数据库中。下面是我的代码。

<?php
    $dbhost = "localhost";
    $dbuser = "root";
    $dbpass = "";
    $db = "mydb";

    $dbconnect= mysqli_connect($dbhost, $dbuser, $dbpass, $db);
    mysqli_select_db($dbconnect,$db) or die("could not connect to database");


    if (isset($_POST['username']) && isset($_POST['password'])){
        $username = $_POST['username'];
        $password = $_POST['password'];
        $username = stripslashes($username);
        $password = stripslashes($password);

        $query = "SELECT * from users WHERE username = '$username' AND password = '$password' LIMIT 1";
        $result = mysqli_query($query);

        $count = mysqli_num_rows($result);

        if($count==1){
            echo "Login successufull!!!";
            exit();
        }else{
            echo "Invalid login";
            exit();
        }       
    }
?>

<!Doctype html>
<html>
<head>
    <link href='style.css' type='text/css' rel='stylesheet'>
</head>
<body>
    <form action = 'main.php' method="post" enctype='multipart/data-form'>
        <h1>User login information</h1>
        <p>Username:<input type= 'text' name='username'></p>
        <p>Password:<input type = 'password' name = 'password'></p>
        <p><input type = 'submit' name = 'submit' value='Submit'></p>

    </form>
</body>
</html>

最佳答案

试试这个,看看它是否有效。我用它来测试我的私有(private)服务器。效果很好。如果这对您不起作用,请回显 $username$password 以查看它们包含的内容,然后查看它们是否与您的数据库匹配。

<?php
    $dbhost = "localhost";
    $dbuser = "root";
    $dbpass = "";
    $db = "mydb";

    $dbconnect= mysqli_connect($dbhost, $dbuser, $dbpass, $db);
    mysqli_select_db($dbconnect,$db) or die("could not connect to database");


    if (isset($_POST['username']) && isset($_POST['password'])){
        $username = $_POST['username'];
        $password = $_POST['password'];
        $username = stripslashes($username);
        $password = stripslashes($password);

        $query = "SELECT * from users WHERE username = '$username' AND password = '$password'";
        $result = mysqli_query($dbconnect, $query);

        $count = mysqli_num_rows($dbconnect, $result);

        if($count == 1){
            echo "Login successufull!!!";
            exit();
        }else{
            echo "Invalid login";
            exit();
        }       
    }
?>

HTML:

<!Doctype html>
<html>
    <head>
        <link href='style.css' type='text/css' rel='stylesheet'>
    </head>
    <body>
        <form action = 'main.php' method="post" enctype='multipart/data-form'>
            <h1>User login information</h1>
            <p>Username:<input type= 'text' name='username'></p>
            <p>Password:<input type = 'password' name = 'password'></p>
            <p><input type = 'submit' name = 'submit' value='Submit'></p>

        </form>
    </body>
</html>

关于php mysql 验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33771336/

相关文章:

mysql - 相同的查询,MySQL 5.5 和 5.7 上的执行时间不同。 (MySQL 5.5不使用索引)

mysql - 使用 EF 6 + MySQL 的 ASP.NET Identity 2 简单用户登录示例

php - 如何在 Zend Framework 中的数据库查询中进行嵌套 AND 和 OR ?

php - MySQL根据SELECT查询结果插入多行

php - 如何在 php 数组中添加条件?

php - 允许用户将我的内容嵌入他们的网站——Php

php - 通过单个查询获取其余结果

php - 重新分配外国 ID 无冲突

php - 如果字段为空,则不进入数据库

mysql - 使用JSP私有(private)登录向MYSQL数据库添加信息