@raw1

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

Сделал регистрацию без при помощи ajax . Возникла проблема с редиректом после того как человек зарегистрировался.
//Сверху идет html разметка 
//Если человек зарегистрировался или вошёл совершается редирект , но заголовки уже отправлены 

if(isset($_SESSION['user'])) {
       header("Location:exemple.php");
}

Так как заголовки отправлены редирект не совершается , как этого избежать ?
  • Вопрос задан
  • 231 просмотр
Решения вопроса 1
@VisualIdeas
Правильное решение:
Останавливать вывод всего с помощью ob_start();

Если хотите быстро то костыль:
if(isset($_SESSION['user'])) {
       echo '<script>document.location.href = "exemple.php";</script>';
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@McBernar
Редиректить в JS.
Редиректить в HTML через meta.
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
без при помощи ajax
? так без или при помощи?

Если без - это условие выносится ДО вывода хтмл разметки, вообще не понятно по какому принципу у вас все написано, если сначала идет вывод хтмл, а затем какой-то код не относящийся к выводу. Так быть не должно.
Если с аякс - на клиенте уже должна быть функция, которая перенаправляет яваскриптом на другую страничку, она вызывается по возврату от аяксовой функции успешного логина.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы