@kiril9011

Как сделать пееадресацию на авторизацию?

Здравтсвуйте! есть код закомментирован:

<?
/**
  * Скрипт проверки авторизации пользователей
  */

// Запускаем сессию, из которой будем извлекать логин и пароль
// авторизовавшихся пользователей
session_start();

 
// Подлючаем файл с пользовательскими функциями
require_once('functions.php');

/**
  * Чтобы определить авторизован ли пользователь, нам нужно 
  * проверить существуют ли в базе данных записи для его логина
  * и пароля. Для этого воспользуемся пользовательской функцией
  * проверки корректности данных авторизовавшегося пользователя.
  * Если эта функция вернет false, значит авторизации нет. 
  * При отсутствии авторизации мы просто переадресовываем 
  * пользователя к странице авторизации.
  */

// Если в сессии присуствуют данные и о логине, и о пароле,
// проверяем их
if(isset($_SESSION['login']) && $_SESSION['login'] && isset($_SESSION['password']) && $_SESSION['password']) {
	// Если проверка существующих данных завершается неудачей
	if(!checkAuth($_SESSION['login'], $_SESSION['password'])) {
		// Переадресовываем пользователя на страницу авторизации
		header('location: login.php');
		// Прекращаем выполнение скрипта
		exit;
	}
}
// Если данных либо о логине, либо о пароле пользователя нет,
// считаем что авторизации нет, переадресовываем пользователя
// на страницу авторизации
else {
	header('location: login.php');
	// Прекращаем выполнение сценария
	exit;
}
?>


я думаю вам понятно, мне надо если клиент не авторизован, его перекидывало на login.php, а код этот почему не работает, почему?
  • Вопрос задан
  • 244 просмотра
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
1. Вместо if(isset($foo) && $foo) можно проверять if (!empty($foo))
2. Пожалуйста, не записывайте пароль в сессию.
3. Заголовок Location заполнен неправильно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы