[英]User login with PHP and MySQLi not working
我有一个简单的表格可以很好地注册用户。 现在,我试图以任何注册用户身份登录,但无法正常运行。 我已经阅读了一段时间有关同样问题的人的信息,但是找不到解决方案。
这是我的代码:
connection.inc.php
<?php
$name = 'pruser';
$pwd = 'pruser';
$dbname = 'project1db';
$conn = new mysqli("localhost", $name, $pwd, $dbname);
login.php
<?php
include('connection.inc.php');
if (isset($_POST['login'])) {
session_start();
$username = trim($_POST['user']);
$password = trim(sha1($_POST['pass']));
// check user in db
$sql = "SELECT user, pwd FROM users WHERE user = ? AND pwd = ? LIMIT 1";
$stmt = $conn->prepare($sql);
if ($stmt === false) {
echo 'Error';
}
$stmt->bind_param('ss', $username, $password);
$stmt->execute();
$stmt->bind_result($username, $password);
echo $stmt->num_rows;
$stmt->close();
}
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Log in - Project 1</title>
</head>
<body>
<form id="form1" method="post" action="">
<fieldset>
<legend>Log in</legend>
<p>
<label for="user">Username</label>
<input type="text" name="user" id="user">
<label for="pass">Password</label>
<input type="password" name="pass" id="pass">
</p>
<p>
<input type="submit" name="login" id="login" value="Log in">
</p>
</fieldset>
</form>
<a href="register.php">Register</a/>
</body>
</html>
当我检查受影响的行数时,结果为-1。 登录后,我希望它重定向到index.php。 这不是问题,但是首先我需要登录。
尝试调用$stmt->store_result();
就在$stmt->execute();
$sql = "SELECT count(*) FROM users WHERE user = ? AND pwd = ? LIMIT 1";
$stmt = $conn->prepare($sql);
if ($stmt === false) {
echo 'Error';
}
$stmt->bind_param('ss', $username, $password);
$stmt->execute();
$stmt->bind_result($count);
$stmt->fetch;
$stmt->close();
if($count > 0){
## login OK
} else {
## login false
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.