Я создал форму входа в систему с помощью PHP, но столкнулся с проблемой, когда мой home.php не показывает свое содержимое после успешного входа в систему.Обработка ошибок показывает, как оба поля обязательны для заполнения, неверное имя пользователя / пароль.Но если я введу правильные учетные данные, он не покажет мою проверку home.php.
login.php
<?php
session_start();
include("connection.php"); //Establishing connection with our database
$error = ""; //Variable for storing our errors.
if(isset($_POST["submit"])) {
if($_POST["username"]== '' || $_POST["password"]=='') {
$error = "Both fields are required.";
} else {
// Define $username and $password
$username=$_POST['username'];
$password=$_POST['password'];
//Check username and password from database
$sql="SELECT * FROM users WHERE username='$username' and password='$password'";
$result=mysqli_query($db,$sql);
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
if(mysqli_num_rows($result) == 1) {
$_SESSION['username'] = $login_user; // Initializing Session
header("location: home.php"); // Redirecting To Other Page
} else {
$error = "Incorrect username or password.";
}
}
}
?>
home.php
<?php
include("check.php");
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Home</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<h1 class="hello">Hello, <em><?php echo $login_user;?>!</em></h1>
<br><br><br>
<a href="logout.php" style="font-size:18px">Logout?</a>
</body>
</html>
.php
<?php
include('connection.php');
session_start();
$user_check=$_SESSION['username'];
$sql=mysqli_query($db,"SELECT username FROM users WHERE username='$user_check' ");
$row=mysqli_fetch_array($sql,MYSQLI_ASSOC);
$login_user=$row['username'];
if(!isset($user_check)) {
header("Location: index.php");
}
?>