php - 使用 MySql 连接登录 PHP
问题描述
我正在尝试使用 MySql 登录网页,但是,由于某种原因,我无法从数据库中查询
I keep getting the error "failure"
这是我的代码php:
<?PHP
include_once("connection.php");
if (isset($_POST['txtUsername']) && isset($_POST['txtPassword'])) {
$username = $_POST['txtUsername'];
$password = $_POST['txtPassword'];
$query = "SELECT username, password FROM tbl_client ".
" WHERE username = '$username' AND password = '$password'";
$result = mysqli_query($conn, $query);
if ($result->num_rows > 0) {
echo "success";
}
echo "failure ";
}
?>
html代码是:
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Login Example <a <br />
<form action="<?PHP $_PHP_SELF ?>" method="post">
Username <input type="text" name="txtUsername" value="" /><br />
Password <input type="password" name="txtPassword" value="" /><br />
<input type="submit" name="btnSubmit" value="Login" />
</form>
</body>
</html>
我的价值观是:用户名:test 和密码:test
但不断收到此错误: HTML
解决方案
如果您确定您的$username
和$password
存在于数据库中,那么您可能想return
在发现用户提供了错误的凭据后立即进行操作。像这样的东西:
$result = mysqli_query($conn, $query);
if ($result->num_rows == 0) {
echo "failure";
return;
}
echo "success";
/**
* keep doing stuff for logged user
*/
切勿以纯文本形式存储密码,并使用占位符和转义将用户数据发送到数据库。谷歌 SQL 注入并查看real_escape_string
推荐阅读
- mysql - 加入第二个表并选择第一个条目
- c# - 如何解决 SQL 在代码优先迁移部署 Azure 期间找不到数据类型 BLOB
- linkedin - 如何计算 LinkedIn 活动成本
- python - 如何将多行中的列值附加到一行中并在python中将多行合并为一行
- flutter - 有没有办法使用颤振ping本地IP地址?
- python - tesseract 在识别中文图片时在文件中给出与标准输出不同的结果
- python - Python刮空标签
- python - Python返回行中第二高值的列名
- php - 如何重命名名称中带有句点 (.) 的 php 图像
- angular - Angular Material - 将值传递给单选组