[英]Problems with simple login form - PHP
我试图使用PHP和mysqli创建简单的登录表单,但是它不起作用。 到目前为止,我已经创建了成功将数据发送到数据库的注册表格,我还使用sha1加密了密码。 当我尝试使用下面随附的代码访问以前存储的用户名和密码时,问题开始。 我提交的内容显示为:用户名或密码错误。 有人可以帮我吗? 我已经花了3天的时间,但仍然想不通如何使其工作。
<?php
include_once ('includes/connection.php');
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login Form</title>
</head>
<body>
<?php
if(isset($_POST['submit_login'])) {
$username = $mysqli->real_escape_string($_POST['username']);
$password = sha1($_POST['password']);
$login_query = $mysqli->query("SELECT user_username, user_password FROM sd_users WHERE user_username = '$username' AND user_password = '$password'");
$count = $login_query->num_rows;
if ($count == 1) {
echo 'You are succesfully login!';
} else {
echo 'Wrong username or password';
}
}
?>
<div class="login-form">
<h3>LOGIN</h3>
<form action="index.php" method="post">
<p>Username:
<input type="text" name="username" value=""/>
</p>
<p>Psssword:
<input type="password" name="password" value=""/>
</p>
<input type="submit" name="submit_login" value="Login"/>
</form>
</div>
</body>
</html>
确保传递给MySQL查询的变量的格式正确。 要将PHP变量放入MySQL查询,请将其更改为:
$login_query = $mysqli->query("SELECT user_username, user_password FROM sd_users WHERE user_username = '".$username."' AND user_password = '".$password."'");
注意,我是如何放置这些$username
和$password
变量的。
我知道您来自哪里,因为几个月前我经历了使用PHP和MySQL创建安全登录系统的完全相同的过程。 如果还不能完全解决问题,请告诉我。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.