2012-04-28 2 views
0

나는, 관계없이 항상 $ 납입이 부분 이후에 모든 것을 실행 이미 종료 ("메시지")를 시도 0이되고 계속 보인다exit() 작동하지 않습니까?

$num = mysql_num_rows($result); 
if ($num == 0) 
{ 
    header("Location:index.php#captcha");//Location:#errorlogin.html"); 
    $_POST[password]=""; 
    exit; 
} 

가 죽을 함수 내에서가 아니라이 PHP 스크립트를 반품 등. 노봐스카 한 질문 인 경우 죄송합니다.

답변

4

당신은 페이지가 redirecting입니다.

this 페이지 고시 : 아마되어야

<?php 
header("Location: http://www.example.com/"); /* Redirect browser */ 

/* Make sure that code below does not get executed when we redirect. */ 
exit; 
?> 
2
$_POST[password]=""; 

합니다 (' 주)를 :이 실행될 때

$_POST['password'] = ""; 

함수 exit() 것은 분명히 실행을 정지한다. if 조건에 잘못된 것이 있어야합니다.

PHP에서 "equal"을 0으로 설정하십시오 (==을 사용하는 경우). 시도해보십시오 var_dump($num) 정말 거기에 무엇을 참조하십시오.

+0

vardump는 int (1)가 실제로 의미가 없습니다. – Madmadmax

+0

@Madmadmax _does_가 의미가 있습니다. 이 경우 if 조건은 false가되어'exit()'는 실행되지 않습니다. – svens

2

exit는 2 종속

A. if ($num == 0)있다이기 때문에 $num 사용자의 위치가 출구

시도 워트하지 않을 작동하면 제로 출구 B. header("Location:index.php#captcha");

를 작동하지 않을 수없는 경우 작동하지 않는 것

$num = mysql_num_rows ($result); 
if ($num == 0) { 
    $_POST ['password'] = null; 
    header ("Location: http://yoursite.com/index.php#captcha"); // Location:#errorlogin.html"); 
    exit(); 
} 
else 
{ 
    echo "Found $num in the database"; 
}