2013-10-16 3 views
1

사용자가 잘못된 정보를 채우는 경우 리디렉션하려고합니다 ... 다른 한편으로는 시도 페이지가 새로 고쳐지면 로그인 페이지에서 리디렉션하고 싶습니다 ... 메신저 사용 중 그것을 위해 ...세션이 존재하지 않으면 리디렉션

if (isset($c)) 
{ 
    $q = mysql_query("select * from registeration where email='$a' and password='$b'"); 
    $r = mysql_num_rows($q); 

    if($r) 
    { 
     $_SESSION["Authenticated"] = 1; 
     $_SESSION['id'] = $a; 
    } 
    else 
    { 
     $_SESSION["Authenticated"] = 0; 
     $_SESSION["att"] = 1; 
    } 

    if(isset($_SESSION["att"])) 
    { 
     header("location:attempt1.php"); 
    } 
    else 
    { 
     session_write_close(); 
     header('location:profile.php'); 
    } 
} 

위에서 언급 한 코드는 내가 리디렉션 attempt1.php 코드를 원하는

session_start(); 
if (!isset($_SESSION["att"])) 
{ 
    echo "<meta http-equiv=\"refresh\" content=\"0; url=index.php\">"; 
} 

을을 index.php 다시 리디렉션 attempt1.php에 하지만 코드 attempt1.php에 리디렉션됩니다 사용자 o N의 index.php 세션이 .. 를 설정하고 그래서 새로 고침 또는 직접 페이지로드 ... 에 인덱스 페이지 도와주세요 친구에게 리디렉션이 페이지 결과에 대한 직접적인 액세스 세션을 파괴하지 않는 경우 ...

답변답변답변 나는 어리석은 실수를 요청 모든 질문에 ... 여기 내가 세션 변수를 저장하는 세션 책략 시작하지 않은이 질문에 가 .... 가 첫 번째 줄에 아래 코드를 추가 로그인 스크립트의

if(!(session_id()) header("Location: /mypage.php"); 

답변

1

나는 당신의 세션이 존재하지 않는 경우 세션 ID를 요구하기 때문에 당신이에 대해 확인 할 수 있어야한다, 리디렉션 요청하는 생각

if(empty($_SESSION)) 
{ 
    header("Location: /mypage.php"); 
} 
else 
{ 
    // do something .... 
} 

- 감사

+0

헤이 매튜, 세션 이름을 가지고있을 때 session_id가 정말로 필요합니까? – user2881430

+0

세션 ID는 자동으로 생성되며, 사용자를 서버에 저장된 ID와 연결시켜주는 ID입니다. 쿠키 또는 URL 여부. –

+0

hmmm ohk, 고마워요 ... – user2881430

6
//try this code 
<?php 
session_start(); 
    if (!isset($_SESSION["att"])) 
    { 
     header("location: index.php"); 
    } 
?> 
+0

이미 시도해 ... 같은 문제 – user2881430

1

이 시도 :

session_start(); 
관련 문제