2011-01-28 8 views
1

해결 방법을 찾을 수 없습니다. 기본적으로 우리는 허영심 URL 시스템을 사용하므로 user.domain.com입니다. 모든 파일은 user.domain.com/home.php와 같이 액세스됩니다. 리디렉션이 작동하는 쿠키를 지우면 다시 로그인하라는 메시지가 나타납니다. 하지만 로그 아웃을 사용할 때 여전히 작동하지만 로그인 링크 (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]') ; 
       ?> 

유일한 방법 사용자가 쿠키를 지우면 사라집니다.

업데이트 : logout.php를 사용한 후 로그인을 위해 user.domain.com으로 리디렉션하는 대신 user.domain.com/home.php 멤버 페이지 중 하나에갔습니다. 리디렉션 오류가 발생했습니다. 이것이 세션이나 헤더와 관련된 문제 일 수 있습니까?

개선하거나 추가 할 수있는 항목은 무엇입니까? 나는 인터넷 검색을 시도했지만 이것에 특별한 것을 발견하지 못했습니다. 이 문제를 해결하려면 도움이 필요합니다. 감사.

내가 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. 
+2

헤더 리디렉션 후에'die()'를하고 있습니까? –

+0

머리글에 die()가 없습니다. – AAA

+0

세션 코드 다음에 사용해 보았습니다. 여전히 동일한 문제를 제공합니다. – AAA

답변

9

브라우저가 여러 요청으로 서버를 망치는 것을 막고 있습니다. 이는 header() 페이지로 이동하여 동일한 페이지 (또는 동일한 header() 페이지)로 사용자를 보내는 경우가 많습니다.

3

같은 로그 아웃 페이지로 리디렉션되고 있기 때문에 가장 가능성이 일어나고있다. 위치를 다르게 설정하려고합니다.

1

동일한 페이지 으로 동일한 페이지로 다시 리디렉션되었을 때 나에게 일어난 일 브라우저가 두 번째 반복에서 멈추지 않고 똑같은 페이지에 대한 요청의 무한 루프를 야기 할 수 있습니다. 오류.

가장 좋은 방법 - 당신의 코드를 디버깅과 같은 쿼리 문자열/후 PARAMS으로 페이지를 다시 입력하고 있는지 ...

0

문제는 당신이 페이지에 당신보다는에 전달하는 페이지에서 거짓말을 할 수 에서 전달 중입니다. forwardingPage.php 페이지에서 (home.php)로 전달한 페이지가 인증 검사에 실패했을 때 이런 일이 일어났습니다. 인증 검사가 같은 forwardingPage.php

인증을 다시 전달하는 데 사용 헤더 기능을 실패 할 경우 수신 home.php 페이지

형식이

인증 검사를 통과하면

이었다 ... 다른 사람이 을 수표가 매번 실패하여 페이지가 전달 된 다음 다시 되돌아갔습니다. 인증 체크를 수정했고 문제가 해결되었습니다

관련 문제