首页 > 解决方案 > 无法使用登录功能

问题描述

我已经尝试让它工作一个小时,但每次 if 语句都返回为 false。当我将 count 更改为“count == 0”时,它可以工作,但否则我无法让它工作。:/

    <?php
        $database = "passwords";

        if ($_SERVER["REQUEST_METHOD"] == "POST") {
            $passord = test_input($conn,$database,$_POST["passord"]);

            $sql = "SELECT id FROM passwords WHERE passord = '$passord'";
            $result = mysqli_query($conn,$database,$sql);
            $count = mysqli_num_rows($result);
            echo('<script>console.log("connected successfully");</script>');
            if($count == 1) {
                 header("location: stemmegivning.php");
            }
            else {
                echo '<script type="text/javascript">wrongPw ()</script>';

            }
        }
        function test_input($data) {
            $data = trim($data);
            $data = stripslashes($data);
            $data = htmlspecialchars($data);
            return $data;
        }
    ?>

标签: php

解决方案


你的意思是在位置使用“密码”,还是应该是“密码”?您应该只将一个参数传递给您的“test_input”函数。

您不需要传递数据库变量,因为这些变量是由您提供的。变量 $passord 应如下所示:

$passord = test_input($_POST["passord"]);

您的查询语句应如下所示:

$conn = mysqli_connect("[host]","[username]","[password]","[database]");
$sql = "SELECT id FROM passwords WHERE passord = '$passord'";
$result = mysqli_query($conn, $sql);
$count = mysqli_num_rows($result);

推荐阅读