Язык
Контакты
GitHub
Поддержка
Регистрация
Войти
Логин: Пароль: Запомнить:
Пользователи
Последние сообщения
Ответить
1

Редирект (как правильно)

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#1
И так немного расскажу о том как правильно делать редирект в PHP.

Вот самый распространенный способ начинающих
 1 
 2 
<?php header ('Location: /index.php');?>

И это вообще не правильно. Сейчас расскажу почему.
Во-первых header - это посыл заголовка клиенту(браузеру) и не факт что он его поймет и выполнит. Представьте что у вас что то вроде этого в коде(а так обычно и есть)

 1 
 2 
 3 
 4 
<?php if (empty($_SESSION['admin'])) {
     
header ('Location: /index.php');
}
//тут показываем админку или другую инфу которая не доступна юзерам?>

и что как вы думаете будет в таком случае если заголовок не сработает? Правиль.обычный тип зайдет в админку. По-этому после хидеров обязательно ставим
 1 
 2 
<?php die() or exit();?>

Согласен, это что-то вроде

 1 
 2 
<?php return or return;?>
:) но лучше перестраховаться. Лучше перебздеть чем недобздеть)))

теперь про сами пути:
"../index.php" - на индекс верхнего каталога
"/index.php" - на индекс корня
"index.php" - на индекс текущего каталога


вот в сжатой форме но вполне доступно вроде, если что - спрашивайте.

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)
1
Сейчас online: 94. Зарегистрированных: 0. Гостей: 94.