0

関数内にないこのphpスクリプトがあります

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

$num が 0 に等しいかどうかに関係なく、常にこの部分の後にすべてを実行し続けるようです。私はすでに exit("message")、die、return などを試しました。

4

3 に答える 3

3

ページをリダイレクトしています。

このページから注目すべき例:

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

/* Make sure that code below does not get executed when we redirect. */
exit;
?>
于 2012-04-28T09:06:45.813 に答える
2

exit2つの依存関係があるため機能しません

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";
}
于 2012-04-28T11:48:13.057 に答える
2
$_POST[password]="";

それはおそらく次のようになります( に注意してください'):

$_POST['password'] = "";

関数exit()は、実行時に実行を確実に停止します。if 条件に何か問題があるはずです。

PHP では、複数の値がゼロに「等しい」( を使用する場合==)。そこにあるものを実際に見てみvar_dump($num)てください。

于 2012-04-28T09:07:50.527 に答える