php - 无法使用登录功能
问题描述
我已经尝试让它工作一个小时,但每次 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;
}
?>
解决方案
你的意思是在位置使用“密码”,还是应该是“密码”?您应该只将一个参数传递给您的“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);
推荐阅读
- vue.js - 动态显示工具提示
- sql - 从其他表中选择所选项目中的项目的值
- react-native - 如何在 React Native 中组织导航结构?
- jquery - 如何获得每个独特的价值
- sql - 基于 SQL Server 中另一个查询的 Where 子句
- json - JSON 模式连接具有属性的数组
- angularjs - 错误:[ng:areq] 参数“customersCtrl”不是函数,未定义
- c# - 使用 JsonConverter 存储传入 json 列表的通用类
- javascript - JS脚本出现网站错误发货方式无效
- php - 获取未捕获的错误:调用未定义的方法 Vehicles::setPassengerSeats()