Я создал страницу login.html и скрипт login.php. В скрипте он сначала получит имя пользователя и пароль, которые мы вводим, затем проверяем его с помощью базы данных, если имя пользователя или пароль выходят или нет, если пользователь действителен, то он будет проверять свой идентификатор депатента и открывать свои страницы с правами на их удаление, но проблема заключается в том, что он постоянно открывает страницу администратора независимо от того, что их отдел. Пожалуйста, помогите мне в этом.Ошибка входа в систему PHP, MySQL
вот мой login.html код
<form id="form1" name="form1" method="post" action="login.php">
<div class="form-group col-md-6">
<label class="sr-only" for="exampleInputEmail1">User Name: *</label>
<input required type="text" class="form-control" id="username" name="username" placeholder="User Name: *">
</div>
<div class="form-group col-md-6">
<label class="sr-only" for="exampleInputEmail1">Password: *</label>
<input required type="password" class="form-control" id="password" name="password" placeholder="Password: *">
</div>
<input id="submit" type="submit" class="btn btn-lg btn-primary" value="Submit" style="width: 130px">
Forgot Username or Password ?</form>
login.php сценарий
<?php
session_start();
ob_start();
$conn = mysqli_connect("localhost","root","","hct_db");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// Define $username and $password
$username=$_POST['username'];
$password=$_POST['password'];
// To protect MySQL injection (more detail about MySQL injection)
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysqli_real_escape_string($conn, $username);
$password = mysqli_real_escape_string($conn, $password);
$sql="SELECT username, password FROM employee where username='".$username."' and password='".$password."'";
$result=mysqli_query($conn,$sql);
// Mysql_num_row is counting table row
$count=mysqli_num_rows($result);
// If result matched $username and $password, table row must be 1 row
if($count==1){
$sql2="SELECT department FROM employee WHERE username='".$username."'";
$result2=mysqli_query($conn,$sql2);
if($result2==1){
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
header("location:admin/index.php");
}
if ($result2==2){
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
header("location:developer/index.html");
}
if ($result2==3){
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
header("location:sales/index.html");
}
else {
echo "Wrong Username or Password";
}
ob_end_flush();
?>
Kind вторичный к заданному вопросу, но ваш код, кажется, указывает, что вы храните пароли как открытый текст. Это очень плохая идея. Ваше сопоставление с именем пользователя также должно быть нечувствительным к регистру. –
да, сэр, я сделаю безопасное имя для входа в систему –