设置空输入的条件

时间:2012-07-19 11:40:25

标签: php

我正在设置一个条件,如果没有填写所有字段,则会回显错误。我写的代码似乎总是输出为真。

我做错了什么?

if (empty($oldpassword)||empty($newpassword)||empty($repatnewpassword))

2 个答案:

答案 0 :(得分:2)

您正在检查其中一个,这意味着,如果其中一个字段为空,则会生成true。将其更改为,只有当所有字段为空时才会获得true

if ( empty($oldpassword) && empty($newpassword) && empty($repatnewpassword) )   

如果您需要确保所有字段都已填写,并且您需要知道未填写的字段,请执行更长的代码:

# check first if old password is filled
if ( $oldpassword )  {

    # now, if that works, check if new passwords are filled ( and match too )
    if ( $newpassword && ( $newpassword == $repatnewpassword) ) {

        // do whatever password checks here, now you know that oldpassword is
        // filled and newpassord is filled and matches repatnewpassword

    } else {
        // new password is not filled or passwords don't match
    }

} else {
    // old password is not filled out
}

答案 1 :(得分:0)

如果$ oldpassword为空,而您的$ autpassword不为空,则代码将返回true。将所有||更改为&&。