首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使密码>7个字符(验证)?

如何使密码>7个字符(验证)?
EN

Stack Overflow用户
提问于 2016-06-16 17:37:39
回答 3查看 98关注 0票数 0

我有一个表单,但是我很难让strlen函数工作。下面是代码的一个示例--下面是验证。我已经注释掉了不起作用的代码。基本上,我想要做的这部分代码是确定密码匹配,并有超过7个字符长。

有人能帮忙吗?

代码语言:javascript
复制
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"; 
    } */
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-06-16 17:53:22

这就是它搞砸的地方:

代码语言:javascript
复制
if (strlen( ($_POST['frmPassword1']) < 7 ) {

让我们重新开始这个陈述吧。

首先,需要由表单字段frmPassword1表示的字符串:

代码语言:javascript
复制
$_POST['frmPassword1']

然后需要字符串长度:

代码语言:javascript
复制
strlen($_POST['frmPassword1'])

然后,您希望将其与小于8个进行比较,因为您专门要求的字符超过7个。因此,你的表达方式是:

代码语言:javascript
复制
strlen($_POST['frmPassword1']) < 8

现在,让这成为一个完整的条件,如:

代码语言:javascript
复制
if( strlen($_POST['frmPassword1']) < 8 ){
 //insert relevant code here telling users password is too short
}

现在,您有了一组工作代码。

票数 0
EN

Stack Overflow用户

发布于 2016-06-16 17:41:27

看看你的():

代码语言:javascript
复制
strlen( ($_POST['frmPassword1']) < 7 )
      a b                      b     a
      ^-----strlen-------------------^

您不是在测试$_POST值的长度,而是对foo < 7的布尔结果执行strlen操作,该结果始终为0/1:

代码语言:javascript
复制
php > var_dump(strlen(true), strlen(false));
int(1)
int(0)

YOu需要:

代码语言:javascript
复制
if (strlen($_POST['frmPassword1']) < 7) {
   a      b                      b    a

注意()上的标签。

票数 2
EN

Stack Overflow用户

发布于 2016-06-16 17:45:07

你错过了end )

代码语言:javascript
复制
if (strlen( ($_POST['frmPassword1']) < 7 ) {
   1      2  3                     3     2  # 1 is missing

所以这会是

代码语言:javascript
复制
if (strlen( ($_POST['frmPassword1']) < 7 ) ){
   1      2  3                     3     2 1

注意:在您的问题中,提到了密码匹配的,并且有超过7个字符的。所以使用<= (小于或等于)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37865924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档