Есть ли способ перенаправления страниц в PHP без использования header('Location:'.'');
becouse всегда создают проблемы с сессиями (: Не удается отправить кэш-ограничитель сеанса - заголовки уже прислал)Перенаправление страницы в PHP
ответ
Есть другие варианты для перенаправления в HTML (например, с использованием META
или JavaScript). Но это не правильное перенаправление HTTP.
Так что вместо поиска альтернативы вам лучше использовать HTTP-вариант. В этом случае вы можете изменить только HTTP-заголовок, если он еще не был отправлен. И это происходит всякий раз, когда вы делаете какой-либо вывод (явно или неявно). Вы можете предотвратить это путем буферизации вывода вызова управления Выходов, ob_start
перед тем любой выход, что произошло, возможно, непосредственно в начале файла сценария вы запросили:
<?php
ob_start();
// rest of the file
Убедитесь, что нет ничего перед открытием PHP-тег <?php
как пустые строки или UTF BOM.
Нет, без header
вам не повезло (вы можете использовать mod_rewrite от Apache, но это произойдет до того, как ваш файл даже коснется).
Почему бы не использовать ob_start
(выходная буферизация). См. PHP manual для быстрого запуска.
Успехов
Как уже упоминалось ранее использование ob_start() справа на самом верху страницы приложения. Не выполняйте изворотливые функции javascript, упомянутые в других ответах, я бы сказал, что они очень плохие практики. PHP уже давно существует, поэтому он проверен и работает, вы можете иметь ошибочное пустое пространство или выводить что-то в браузер, а затем пытаться изменить информацию заголовка, которую вы не можете сделать. Итак:
использование ob_start чека на ошибочное белое пространство и удалить его
- 1. Перенаправление страницы (PHP, HTML)
- 2. Перенаправление страницы PHP Использование Javascript
- 3. PHP перенаправление страницы не работает
- 4. Перенаправление страницы с помощью PHP
- 5. Перенаправление PHP страницы с htacess
- 6. Перенаправление страницы в Micro Slim PHP Framework?
- 7. PHP-перенаправление страницы в заявлении условия
- 8. Перенаправление со страницы PHP в HTML-страницу
- 9. перенаправление в php ПОСЛЕ завершения моей страницы
- 10. Перенаправление страницы во время сеанса в PHP
- 11. Перенаправление страницы в PHP вместо echo
- 12. Почему Перенаправление страницы не работает в PHP
- 13. Перенаправление все HTML-страницы, кроме главной страницы в PHP версии
- 14. Перенаправление заблокирован в 404 страницы
- 15. Перенаправление страницы
- 16. Reload/перенаправление страницы из включаемого файла PHP
- 17. php - перенаправление со страницы на другую
- 18. PHP - перенаправление перед загрузкой HTML-страницы
- 19. Перенаправление страницы в Wordpress
- 20. Перенаправление страницы в htsccess
- 21. Перенаправление страницы в MVC2
- 22. Wordpress Перенаправление страницы
- 23. Перенаправление всех номерных PHP страницы на дом
- 24. PHP - перенаправление страницы на URL без протокола?
- 25. Перенаправление страницы (php) с помощью JQuery Timer
- 26. Перенаправление определенных пользователей на разные страницы (PHP)
- 27. Инициировать перенаправление «средней страницы» на php?
- 28. .htaccess - Перенаправление конкретной страницы с PHP параметров
- 29. htaccess перенаправление php-страницы на wordpress-страницу
- 30. Перенаправление веб-страницы в подкаталог
Он никогда не делать какие-либо проблем с сессиями. «Расположение» HTTP-заголовок - единственный правильный способ. Хотя вы все равно получите свой хромой ответ, просто потому, что этот сайт сосет – 2010-11-28 13:37:22
@Col. Шрапнель. Это так. Неопытные кодеры, как правило, всегда избавляются от симптомов, а не от причины. Нам нужно научить их понимать это прямо. – aefxx 2010-11-28 13:43:45