Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较PHP中的两个密码_Php - Fatal编程技术网

比较PHP中的两个密码

比较PHP中的两个密码,php,Php,这是我的代码,它似乎工作得很好,但看起来有点不对劲。 我知道我很容易被注射。我只是想知道这个 比较两个密码的最佳方法是什么 if (empty($_POST['password'])) { $errors[] = "Please enter a password"; } else { if ($_POST['password'] != $_POST['password1']) { $errors[] = "Your password did not match t

这是我的代码,它似乎工作得很好,但看起来有点不对劲。 我知道我很容易被注射。我只是想知道这个 比较两个密码的最佳方法是什么

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'];
    }
}

您的代码很好,我只想写一点不同的代码:

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'];
}

您的代码很好,我只想写一点不同的代码:

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'];
}

我建议您必须在一开始就检查
$\u POST['password']
$\u 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";
    }

我建议您必须在一开始就检查
$\u POST['password']
$\u 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";
    }

上述代码不易受到任何注入的攻击,因为它不会与数据库交互,也不会将用户输入打印到屏幕上。(我们看不到的代码可能是另一个故事)您也可以尝试
==。您希望它们始终都是字符串<代码>==
将确认它们都是相同的类型,尽管您需要单独的测试来确认它们是字符串。上面的代码不易受到任何注入的影响,因为它不会与数据库交互,也不会将用户输入打印到屏幕上。(我们看不到的代码可能是另一个故事)您也可以尝试
==。您希望它们始终都是字符串<代码>==
将确认它们都是相同的类型,不过您需要单独的测试来确认它们是字符串。这就是我要寻找的答案。我在脚本末尾有两个右括号,但看起来不正确。@user1829823您的代码很好,只是缩进让它看起来很奇怪。我帮你推了推。@Neal我没说你的不好,只是因为缩进,OP看起来不对劲。这里,有一个+1:使用此表单的PA请求仍然会以匹配的密码结尾:
这就是我要寻找的答案。我在脚本末尾有两个右括号,但看起来不正确。@user1829823您的代码很好,只是缩进让它看起来很奇怪。我帮你推了推。@Neal我没说你的不好,只是因为缩进,OP看起来不对劲。这里,有一个+1:使用此表单的PA请求仍将以匹配密码结束: