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:[EMAIL PROTECTED] > Sent: 27 May 2003 17:03 > To: Jason Lange > Cc: [EMAIL PROTECTED] > 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 > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php