0

これが私のコードです。うまく動作しているように見えますが、正しく見えません。私は注射に弱いことを知っています。これが 2 つのパスワードを比較する最良の方法であるかどうかを知りたいだけですか?

if (empty($_POST['password'])) {
    $errors[] = "Please enter a password";
} else {
    if ($_POST['password'] != $_POST['password1']) {
        $errors[] = "Your password did not match the confirmed password";
    } else {
        $p = $_POST['password'];
    }
}
4

2 に答える 2

5

あなたのコードは問題ありません。私はそれを少し違った方法で書きます:

if (empty($_POST['password'])) {
   $errors[] = "Please enter a password";
} elseif($_POST['password'] !== $_POST['password1']) {
   $errors[] = "Your password did not match the confirmed password";
} else {
   $p = $_POST['password'];
}
于 2013-09-23T20:04:13.467 に答える
0

$_POST['password']最初に と の両方を確認することをお勧めします$_POST['password1']

if (!empty($_POST['password']) && !empty($_POST['password1'])) {
        if (strcmp($_POST['password'], $_POST['password1']) === 0) {
            $p = $_POST['password'];
        } else {
            $errors[] = "Your password did not match the confirmed password";
        }
    } else {
        $errors[] = "Please enter a password";
    }
于 2013-09-23T20:29:31.950 に答える