验证登录详细信息到MySQL

乔德琳娜·科尔特斯

我目前正在使用自己的CMS。

出于某种原因,它似乎不接受我的登录详细信息...代码为:

<?php

session_start();

include_once('../includes/connection.php');

if (isset($_SESSION['logged_in'])) {
    // display index
} else {
    if (isset($_POST['username'], $_POST['password'])) {
        $username = $_POST['username'];
        $password = md5($_POST['password']);

        if (empty($username) or empty($password)){
            $error = 'Please enter all of the fields!';
        } else {
            $query = $pdo->prepare("SELECT * FROM users WHERE user_name = ? AND user_password = ?");

            $query->bindValue(1, $username);
            $query->bindValue(2, $password);

            $query->execute();

            $num = $query->rowCount();

            if ($num == 1) {
             // user entered correct
                $_SESSION['logged_in'] = true;

                header('Location: index.php');
                exit();
            } else {
            //user entered false
                $error = "Incorrect details!";
            }
        }
    }
    ?>

    <html>
    <head>
        <title>CMS</title>
        <link rel="stylesheet" type="text/css" href="../assets/style.css" />
    </head>

    <body>
        <div class="container">
            <a href="index.php" id="logo">CMS</a>

            <br /><br />

            <?php if (isset($error)) { ?>

            <small style="color:#aa0000;">
            <?php echo $error; ?>
            <br /><br />
            </small>

            <?php } ?>

            <form action="index.php" method="post" autocomplete="off">
            <input type="text" name="username" placeholder="Username" />
            <input type="password" name="password" placeholder="Password" />
            <input type="submit" value="Login" />
            </form>

        </div>
    </body>
</html>

<?php
}

?>

和连接是:

> <?php
> 
> try { $pdo = new PDO('mysql:host=localhost;dbname=website', 'root',
> '');  } catch (PDOException $se) {    exit('Database error.'); }
> 
> 
> ?>

每次我尝试使用正确的详细信息登录时,都会显示“错误的详细信息”

有任何想法吗?

马库斯·霍夫曼(Markus Hofmann)

您正在检查查询是否返回结果。但是,您的操作方式不适用于SELECT查询。它用于例如删除。

尝试以下方法:

<?php
if ($res = $conn->query($sql))
{
    if ($res->fetchColumn() > 0)
    {
        // user entered correct
    }
    else
    {
        //user entered false
    }
}

有关此问题的更多信息,请参见PHP手册

我想在手册中添加以下报价:

对于大多数数据库,PDOStatement :: rowCount()不会返回受SELECT语句影响的行数。而是使用PDO :: query()发出与所要SELECT语句相同的谓词的SELECT COUNT(*)语句,然后使用PDOStatement :: fetchColumn()检索将返回的行数。然后,您的应用程序可以执行正确的操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过http get验证登录详细信息:Android

来自分类Dev

验证后发送详细信息到电子邮件

来自分类Dev

登录servlet,它在验证登录详细信息后返回用户名

来自分类Dev

获取登录项目详细信息

来自分类Dev

用户的上次登录详细信息

来自分类Dev

获取登录项目详细信息

来自分类Dev

Android-保存登录详细信息

来自分类Dev

Peewee:如何在表单提交时验证登录详细信息

来自分类Dev

Peewee:如何在表单提交时验证登录详细信息

来自分类Dev

验证响应缺少错误详细信息

来自分类Dev

使用两个mysql表中的详细信息进行PHP登录

来自分类Dev

MySql在单行中显示详细信息

来自分类Dev

使用Flutter进行社交登录身份验证时如何获取用户详细信息?

来自分类Dev

根据所选选项的数量将表单的详细信息插入到MySQL表中

来自分类Dev

MS CRM 2011,从报价详细信息到销售订单详细信息

来自分类Dev

如何从详细信息页面导航到主详细信息页面?

来自分类Dev

登录成功后回显用户详细信息

来自分类Dev

如何随时查看Ubuntu在登录时显示的详细信息?

来自分类Dev

更新会话中登录的用户详细信息

来自分类Dev

提取已登录的用户详细信息时出错

来自分类Dev

如何在Flutter中保存用户登录详细信息?

来自分类Dev

Java SE-存储当前登录的用户详细信息

来自分类Dev

Chrome帐户登录详细信息已过时

来自分类Dev

需要在jframe中显示登录详细信息

来自分类Dev

使用VBA按名称自动执行登录详细信息

来自分类Dev

在Android Studio中存储用户登录详细信息

来自分类Dev

登录后在aspx上显示用户的详细信息

来自分类Dev

查找默认登录用户的详细信息

来自分类Dev

获取当前用户的详细信息,即登录 firebase 的用户

Related 相关文章

  1. 1

    通过http get验证登录详细信息:Android

  2. 2

    验证后发送详细信息到电子邮件

  3. 3

    登录servlet,它在验证登录详细信息后返回用户名

  4. 4

    获取登录项目详细信息

  5. 5

    用户的上次登录详细信息

  6. 6

    获取登录项目详细信息

  7. 7

    Android-保存登录详细信息

  8. 8

    Peewee:如何在表单提交时验证登录详细信息

  9. 9

    Peewee:如何在表单提交时验证登录详细信息

  10. 10

    验证响应缺少错误详细信息

  11. 11

    使用两个mysql表中的详细信息进行PHP登录

  12. 12

    MySql在单行中显示详细信息

  13. 13

    使用Flutter进行社交登录身份验证时如何获取用户详细信息?

  14. 14

    根据所选选项的数量将表单的详细信息插入到MySQL表中

  15. 15

    MS CRM 2011,从报价详细信息到销售订单详细信息

  16. 16

    如何从详细信息页面导航到主详细信息页面?

  17. 17

    登录成功后回显用户详细信息

  18. 18

    如何随时查看Ubuntu在登录时显示的详细信息?

  19. 19

    更新会话中登录的用户详细信息

  20. 20

    提取已登录的用户详细信息时出错

  21. 21

    如何在Flutter中保存用户登录详细信息?

  22. 22

    Java SE-存储当前登录的用户详细信息

  23. 23

    Chrome帐户登录详细信息已过时

  24. 24

    需要在jframe中显示登录详细信息

  25. 25

    使用VBA按名称自动执行登录详细信息

  26. 26

    在Android Studio中存储用户登录详细信息

  27. 27

    登录后在aspx上显示用户的详细信息

  28. 28

    查找默认登录用户的详细信息

  29. 29

    获取当前用户的详细信息,即登录 firebase 的用户

热门标签

归档