usercheck.phpстраница не будет перенаправлять, если пользователь не вошел в
// Start a session.
session_start();
// Check the database for the user.
$user_check = $_SESSION['user_username'];
$ses_sql = mysqli_query($db,"SELECT user_username FROM users WHERE user_username='$user_check' ");
$row = mysqli_fetch_array($ses_sql,MYSQLI_ASSOC);
$login_user = $row['user_username'];
// If the check fails, redirect to the login page.
if(!isset($user_check)) {
header("Location: /index.php");
}
У меня есть файл indcluded на каждой странице, которая должна проверить, если пользователь вошел в систему. Если они есть, отображается страница. Если нет, он перенаправляется обратно в индекс.
Проблема в том, что это не перенаправление, и я не могу понять, почему. Я могу легко ввести URL-адрес страницы, к которой я хочу перейти, и полностью обойти логин, даже если этот файл успешно включен.
Я делаю что-то неправильно или устарел?
Редактировать: Пример страницы, содержащей файл.
<?php
$pageTitle = 'Dashboard';
$pageClass = 'dashboard';
include_once('./assets/template/template.php');
// Start the page content.
function getPageContent() {
global $mysqli;
// Connect to database.
include_once('./assets/include/db-connect.php');
// Check the database for the user.
include_once('./assets/include/db-user-check.php');
?>
... some html ...
<?
// Close the database connection.
$db->close();
}
?>
И '$ _SESSION ['user_username']' всегда определяется? –
Да, '$ _SESSION ['user_username'] = $ _POST ['user_username'];' –