【发布时间】:2014-05-26 23:08:47
【问题描述】:
我正在尝试让 php/mysql 工作,以便它从表单中获取用户名和密码并检查它们是否在 mysql 表中。如果他们在表中,它应该让您登录并将您发送到 index.php 页面(我更改了用户/密码/数据库)
登录页面的表单:
<form action="db_connect.php" method="post">
<input type="text" name="username" placeholder="Username" />
<input type="password" name="password" placeholder="Password" />
<input type="submit" value="Login" class="customButton" />
</form>
db_connect.php:
<?php
$username = $_POST['username'];
$password = $_POST['password'];
$con = new mysqli_connect("localhost","user","password","database");
$query = mysqli_query($con,"SELECT * FROM members WHERE username='".$username."' AND password='".$password."'");
if (mysqli_num_rows($query) != 0){
$_SESSION['logged_in'] = true;
header('Location: index.php');
}else{
echo "Access denied";
}
?>
【问题讨论】:
-
试试
if (mysqli_num_rows($query) > 0){ -
另外,您还缺少关闭
</form>标记,因此这可能是问题的一部分。您以纯文本形式存储密码,不建议这样做。在开发过程中将错误报告添加到文件顶部error_reporting(E_ALL); ini_set('display_errors', 1);。 -
new关键字对于mysqli_connect()是必需的吗? -
@Alon 不,不需要
-
旁注:由于您正在使用会话
$_SESSION['logged_in']-session_start();未显示在您的代码中。因此,会话永远不会是true。
标签: php mysql forms connect login-script