Я не могу найти решение этого. В основном мы используем систему тщеславия, так что ее user.domain.com. Доступ ко всем файлам осуществляется, например, user.domain.com/home.php и т. Д. Когда вы удаляете куки-файлы, перенаправления работают, он предлагает им снова войти в систему. Но когда я использую logout, он по-прежнему работает, но когда они возвращаются к ссылке для входа в систему, (user.domain.com имеет форму входа на целевую страницу для пользователя), это не сработает. Ошибка, которую я получаю
Сообщение об ошибке:
The page isn't redirecting properly Firefox has detected that the server is redirecting the request for this address in a way that will never complete. This problem can sometimes be caused by disabling or refusing to accept cookies.
Код перенаправления для всех страниц участника:
if(!isset($_SESSION['user_name'])) { header("Location: http://$_SERVER[HTTP_HOST]");} Note: The $_SERVER[HTTP_HOST] captures the user.domain.com value for redirect.
Код выхода:
<?php session_start(); session_destroy(); header( 'Location: $_SERVER[HTTP_HOST]' ) ; ?>
Единственный способ избежать этой проблемы – очистить файлы cookie.
UPDATE: после использования logout.php я перешел на одну из страниц-членов user.domain.com/home.php, вместо того чтобы перенаправлять его на user.domain.com для входа, он дал мне ошибку переадресации. Может ли это быть проблемой с сеансами или чем-то с заголовками?
Что я могу улучшить или добавить, чтобы исправить это? Я пробовал Googling, но не нашел ничего особенного в этом. Мне действительно нужна помощь в исправлении этого. Благодарю.
Это сообщение об ошибке, которое я получаю в Safari:
Too many redirects occurred trying to open “http://user.domain.com/home.php”. This might occur if you open a page that is redirected to open another page which then is redirected to open the original page.
Браузер останавливает вас от забивания сервера множеством запросов. Это, скорее всего, связано с тем, что header()
отправляет вас на страницу, которая, в свою очередь, отправляет вас на ту же страницу (или страницу с тем же header()
).
Это происходит, скорее всего, потому, что вы перенаправлены на ту же страницу выхода. Я попытался бы установить расположение по-разному.
Случилось со мной, когда я перенаправлялся обратно на ту же страницу с теми же параметрами, которые вызывали бы в бесконечном цикле запросов к одной странице браузером, если браузер не остановился на второй итерации и не дал бы эту ошибку.
Лучшая ставка – отлаживайте свой код и смотрите, если вы повторно входите на страницу с теми же строками запроса / post params …
Проблема может заключаться в перенаправляемой странице, а не на странице, которую вы пересылаете. Это случилось со мной, когда страница, которую я пересылала (home.php) со страницы forwardingPage.php, не проверила проверку подлинности.
Формат на странице получателя home.php был
если проверка проверки подлинности проходит … сделайте это иначе, если проверка проверки подлинности завершится неудачей, используйте функцию заголовка для пересылки назад к тому же forwardingPage.php
Проверка подлинности прерывалась каждый раз, чтобы страница была перенаправлена, а затем обратно в себя. Я исправил проверку подлинности и решил проблему