Есть скрипт обработки данных пользователя для авторизации на сайте:
<?php
session_start();
$conn = mysqli_connect('localhost', 'root', '', 'database') or die ('unable to connect');
if(isset($_POST['login'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$select = mysqli_query($conn, "SELECT * FROM employers WHERE username='$username' AND password='$password'");
$row = mysqli_fetch_array($select);
if(is_array($row)) {
$_SESSION['username'] = $row['username'];
$_SESSION['password'] = $row['password'];
} else
echo "<script>alert('Неправильный логин или пароль');</script>";
}
if(isset($_SESSION["username"])){
header('location: personal_product.php');
}
?>
Код формы:
<form action="login.php" method="POST">
<input type="text" class="field" name="username" placeholder="Логин" required=""><br>
<input type="password" class="field" name="password" placeholder="Пароль" required=""><br>
<input type="submit" class="form-button" name="login" value="Войти">
</form>
Также скрипт для выхода:
<?php
session_start();
if(session_destroy()) {
header("location: login.php");
};
?>
Код рабочий, авторизация проходит, если ввести неправильный логин или пароль появится всплывающее окно об ошибке, после авторизации я оказываюсь на странице personal_product.php и если я нажму выход, снова окажусь на странице авторизации.
Проблема такая, что если я введу в адресную строку personal_product.php мне все равно ее выдаст даже если я не был авторизован. Как можно это исправить, как запрашивать пароль при попытке входа на эту страницу, если я не авторизован или перенаправлять на страницу авторизации, либо вывести надпись типа: "эта страница недоступна для неавторизованных пользователей"?
И ещё таблица с именем и паролем в бд: