2012-04-28 48 views
0

私は、死ぬ、それは関係なく、常に0に等しい$ num個のIはすでに終了(「メッセージ」)を試してみました。この部分の後に、すべてを実行し続けるように思われる関数の内部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では、複数の値が0に等しくなります(==を使用する場合)。実際にそこにあるものを見るにはvar_dump($num)を試してください。 $numがゼロの終了でない場合は、あなたの場所は出口が

試して麦汁はない動作する場合

B. header("Location:index.php#captcha");を働かない2依存

A. if ($num == 0)を持っているので、

+0

vardumpはint(1)が本当に意味をなさない... – Madmadmax

+0

@Madmadmaxそれは意味があります。この場合、if条件はfalseになるので、 'exit()'は実行されません。 – svens

2

exitは動作しないでしょう

$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"; 
} 
関連する問題