【发布时间】:2016-06-16 17:37:39
【问题描述】:
我有一个表格,但我无法让 strlen 函数工作。 下面是代码示例 - 进一步向下进行验证。 我已经注释掉了不起作用的代码。基本上,我想要对这部分代码做的就是确定密码匹配,并且长度超过 7 个字符。
谁能帮忙?
if (isset($_POST['formName']) && $_POST['formName'] == "addUser") {
if ( ( $_POST['frmName'] != '') &&
($_POST['frmSurname'] != '') &&
($_POST['frmEmail'] != '') &&
($_POST['frmPassword1'] != '') ) {
if ($_POST['frmPassword1'] != $_POST['frmPassword2'] ) {
echo "Passwords do not match!";
}
/* if (strlen( ($_POST['frmPassword1']) < 7 ) {
echo "Passwords much be a minimum of 7 characters";
} */
【问题讨论】:
-
strlen 行有 3 个
(,只有 2 个),所以如果你取消注释它是一个彻底的语法错误。 -
还有
formName和frmName不同的字段??? -
if (strlen($_POST['frmPassword1']) > 7 ) -
允许用户使用他们想要的passwords / phrases。 Don't limit passwords.
-
先发制人... 永远不要存储纯文本密码!请使用 PHP 的built-in functions 来处理密码安全问题。如果您使用的 PHP 版本低于 5.5,您可以使用
password_hash()compatibility pack。在散列之前,请确保您 don't escape passwords 或对它们使用任何其他清理机制。这样做会更改密码并导致不必要的额外编码。