php - “登录”脚本混乱情况下的 SQL 查询问题
问题描述
我在使用 WampServer 时遇到了 PHP 问题。我一生中第一次这样想,我真的很困惑,因为我发现的每个示例都根本不起作用,或者我没有得到任何输出。能否请你帮忙?
enter code<?php
require_once "connect.php";
$connection = @new mysqli($host, $db_user, $db_password, $db_name);
//if($connection->connect_error)
//{
// echo "Nie można połączyć się z bazą danych";
////} else
//{
$mail = isset('$_POST[mail]');
$haslo = isset('$_POST[haslo]');
sql = "SELECT * FROM users WHERE mail='$mail' AND haslo='$haslo'";
if ($result = @$connection->query($sql))
{
$user = $result->num_rows;
if($user>0)
{
$row = $result->fetch_assoc();
$user = $row['mail'];
header('Location:user.php');
$result->close();
} else {
echo"Podałeś złe dane";
}
}
$connection->close();
// }
?>
解决方案
欢迎来到 SO。
请在代码中找到以下更正:
<?php
require_once "connect.php";
$connection = @new mysqli($host, $db_user, $db_password, $db_name);
//if($connection->connect_error)
//{
// echo "Nie można połączyć się z bazą danych";
////} else
//{
$mail = isset($_POST['mail']) ? $_POST['mail'] : ''; // Added ternary operatr and properly placed single quotes.
$haslo = isset($_POST['haslo']) ? $_POST['haslo'] : ''; // Same as above
$sql = "SELECT * FROM users WHERE mail='$mail' AND haslo='$haslo'"; // Replaced sql by $sql as pointed out in comments.
if ($result = $connection->query($sql)) // Removed @ (Error supressor, no need for it.)
{
$user = $result->num_rows;
if($user>0)
{
$row = $result->fetch_assoc();
$user = $row['mail'];
header('Location:user.php');
$result->close();
} else {
echo"Podałeś złe dane";
}
}
$connection->close();
// }
?>
推荐阅读
- nginx - 通过 nginx 的 TLS 传递给出 SSL 证书问题
- python - 使用文本文件的 Python 海龟图形
- sql - Oracle SQL Developer 绘制散点图
- java - 获取最终的 else 语句以运行 Java 递归方法
- kubernetes - Skaffold 远程部署不会推送到容器注册表
- node.js - Mongoose - 无法修改字段值
- android - Android 版本突然从之前的 60 fps 锁定到 30 fps
- flutter - 如何在 USB Flutter 中打印图像
- python - 将数据框列值传递给函数
- gitlab - gitlab:我如何以编程方式将工件上传到 gitlab 注册表