Re: password field validation
| From: | Jochem Maas | Date: | Thu, 12 Mar 2009 19:40:31 +0000 |
| Subject: | Re: password field validation | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-289947@lists.php.net to get a copy of this message | ||
Afan Pasalic schreef:
>
>
> Andrew Ballard wrote:
>> On Thu, Mar 12, 2009 at 3:05 PM, Jason Todd Slack-Moehrle
>> <mailinglists@mailnewsrss.com> wrote:
>>
>>> Hi All,
>>>
>>> I have an input field with type="password".
>>>
>>> I am trying to do some error checking to see if the user puts a value in
>>> after they submit the form (i.e not left it blank)
>>>
>>> Here is what I have:
>>>
>>> on form:
>>> Password: <input id="PASSWORD" name="PASSWORD"
>>> type="password"
>>> size="15">
>>>
>>> In PHP error checking:
>>>
>>> if (empty($_POST[PASSSWORD]))
>>> { $GERROR="TRUE";}
>>>
>>> even though I am putting characters in the field before I submit I am
>>> always
>>> getting TRUE returned.
>>>
>>> This same tactic works for other fields I have that I need to make
>>> sure they
>>> put values in, just I have never done this before with a password field.
>>>
>>> What am I doing wrong? I just want to make sure they put something
>>> there!
>>>
>>> -Jason
>>>
>>
>> If that's a direct copy/paste from your actual code, there is an extra
>> S in PASSWORD. Also, you should enclose the array key in quotes:
>>
>> if (empty($_POST['PASSWORD']))
>> { $GERROR='TRUE'; }
>>
>>
>> Andrew
>>
>>
>
> try if trim() gives you any different result:
>
> if (empty(trim($_POST['PASSWORD'])))
> { $GERROR='TRUE'; }
definitely gives a different result.
$ php -r '
> $r = " "; var_dump(empty(trim($r)));'
PHP Fatal error: Can't use function return value in write context in Command line code on line
2
you can only pass variables to empty() *not* expressions.
>
> afan
>
>
>