RE: [PHP] Validation function doesn't work (sort of...)
| From: | Philip Olson | Date: | Tue, 27 May 2003 16:12:32 +0000 |
| Subject: | RE: [PHP] Validation function doesn't work (sort of...) | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-149138@lists.php.net to get a copy of this message | ||
On Tue, 27 May 2003, Jonathan Wilkes wrote:
> That's not his problem, he is using "===" euality check which just checks
> the "type" of data, hence his code is returning TRUE for every item in the
> array.
=== does not just check the type, it checks both type
and value. I'm 98% sure I described the exact problem
below.
Regards,
Philip
> -----Original Message-----
> From: Philip Olson [mailto:philip@cornado.com]
> Sent: 27 May 2003 17:03
> To: Jason Lange
> Cc: php-general@lists.php.net
> Subject: Re: [PHP] Validation function doesn't work (sort of...)
>
>
>
> When you found success in the loop you really should
> end the loop otherwise it will keep checking and will
> yield results as you describe. For example:
>
> while (1) {
> if (something) {
> $foo = true;
> break;
> } else {
> $foo = false;
> }
> }
>
> When $foo = true, the loop ends, and $foo will indeed
> equal true. Although in your code below I see no need
> to even define $retVal, just return true. If the loop
> never ends up returning true ... you know to return
> false.
>
> while (1) {
> if (something) {
> return true;
> }
> }
> return false;
>
>
> Regards,
> Philip
>
>
>
> On Tue, 27 May 2003, Jason Lange wrote:
>
> > Hello all,
> >
> > I've created this nice validation function which compares a submitted
> > username and password to an array of acceptable values. However, at the
> > moment it will only match the *last* key in the array. Even when I
> > /*know*/ that I typed in the correct values (typed them in Notepad and
> > copied and pasted them into the form) it still doesn't work. I realize
> > this isn't the *most secure* way to do it, but it should be adaquate for
> > what the purpose. No /really/ sensitive information is being hidden.
> >
> > <?php
> > function _validateLogin($uploadedUser, $uploadedPass)
> > {
> > $md5 = md5('iseeYou'); // create the MD5 salt for crypt()
> >
> > // array of valid users
> > $validUser[0] = crypt('user1', $md5);
> > $validUser[1] = crypt('user2', $md5);
> > $validUser[2] = crypt('user3', $md5);
> >
> > // array of valid passwords
> > $validPass[0] = crypt('pass1', $md5);
> > $validPass[1] = crypt('pass2', $md5);
> > $validPass[2] = crypt('pass3', $md5);
> >
> > $cryptUser = crypt($upUser, $md5); // crypt(ed) username for
> > validation
> > $cryptPass = crypt($upPass, $md5); // crypt(ed) password for
> > validation
> >
> > $vCount = count($validUser); // get number of valid usernames
> >
> > // loop through results - if BOTH username & password match
> > return TRUE
> > // otherwise return FALSE
> > for ($i = 0; $i < $vCount; ++$i) {
> > if (($cryptUser === $validUser[$i]) &&
> > ($cryptPass === $validPass[$i])) {
> > $retVal = true;
> > } else {
> > $retVal = false;
> > }
> > }
> > return $retVal; // return true if valid false otherwise
> > }
> > ?>
> >
> > Thanks in advance for your help!
> > Jason
> >
> >
> >
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>