Php 尝试使用用户名和密码创建用户登录

Php 尝试使用用户名和密码创建用户登录,php,html,mysql,xampp,Php,Html,Mysql,Xampp,我创建了一个带有提交按钮的表单。我还连接到db.php文件中的XAMPP数据库。我只是尝试在字段中输入用户名和密码,然后重定向到另一个.php文件。每次我用用户名和密码登录时,什么也没发生。任何帮助都将不胜感激。 谢谢 登录 用户名 密码 记得我吗 您的代码中有一些错误或不完善之处 首先,输入密码字段没有名称。 只需在输入字段中添加name=“password”: <input type="password" id="inputPassword" class="form-control"

我创建了一个带有提交按钮的表单。我还连接到db.php文件中的XAMPP数据库。我只是尝试在字段中输入用户名和密码,然后重定向到另一个.php文件。每次我用用户名和密码登录时,什么也没发生。任何帮助都将不胜感激。 谢谢


登录
用户名
密码
记得我吗

您的代码中有一些错误或不完善之处

首先,输入密码字段没有名称。 只需在输入字段中添加name=“password”:

<input type="password" id="inputPassword" class="form-control" placeholder="Password" name="password" required>
致:

因为如果$query为true,那么检查就已经通过查看数据库完成了。我将fetch_行更改为fetch_数组,但这只是因为我更喜欢这种方式

添加安全性

为了使您的代码更加安全,这里还有一些建议:

$username = trim($_POST['username']);
$username = strip_tags($username);
$username = htmlspecialchars($username);

$password = trim($_POST['password']);
$password = strip_tags($password);
$password = htmlspecialchars($password);

$username = mysqli_real_escape_string($dbCon,$username);
$password = mysqli_real_escape_string($dbCon,$password);
这是非常基本的,可以防止一些攻击

另外,您可能希望使其更安全,并对密码进行哈希处理()


还有很多其他的事情你可以改变,但我想让它保持简单。如果您有任何问题,请随时问我。

您也可以发布您的表单吗?只是好奇,为什么还要检查输入是否与返回的数据相同?您已经使用这些输入在数据库中找到了类似的
用户名
密码
,它要么返回1个结果,要么根本不返回。我想您是想被黑客攻击。@CarlJan刚刚开始使用php:/尝试为学校创建一个简单的网站,该网站有用户名和密码登录。没什么特别的。@arif_suhail_123它们都是你的。更新了我的php并添加了表单名。当我运行php时,它会进入一个新页面,上面写着。“试试看。”如果我输入了错误的密码,即使我回显“错误的用户名和密码”,它仍会转到此页面。谢谢@死的_Master@EricHo23所以我也有一些改变(看看评论)。如果这不起作用,那就是数据库的错误,因为我在我的电脑上试过了,效果很好。也许我使用的是我的数据库变量?这是它的一个gyazo@EricHo23有一点:更改$sql=“从osticket中选择*,其中username='$username'和password='$password';to$sql=“从osticket中选择*,其中username='$username'和passwd='$password';真奇怪。我刚刚重新安装了osTicket,所以我得到了一个新的phpmyadmin数据库。当你登录时,它到底为你做了什么?数据库现在称为“eric”,表称为“ost_staff”,我从中提取用户名和密码。
<button type="submit" value='Try it' name='submit'>test</button>
if ($query) {
 $row = mysqli_fetch_row($query);
 $staff_id = row[0];
 $dbUsername = row[3];
 $dbPassword = row[5];
}
if ($username == $dbUsername && $password == $dbPassword) {
 $_SESSION['username'] = $username;
 $_SESSION['staff_id'] = $staff_ID;
 header('Location: user.php');
} else {
 echo "Incorrect username and password";
}
if ($query) {
 $result = mysqli_fetch_array($query);
 $_SESSION['username'] = $result["username"];
 $_SESSION['staff_id'] = $result["staff_id"];;

 header('Location: user.php');
} else {
    echo "Incorrect username and password";
}
$username = trim($_POST['username']);
$username = strip_tags($username);
$username = htmlspecialchars($username);

$password = trim($_POST['password']);
$password = strip_tags($password);
$password = htmlspecialchars($password);

$username = mysqli_real_escape_string($dbCon,$username);
$password = mysqli_real_escape_string($dbCon,$password);