| 
	
 | 
 Posted by Schraalhans Keukenmeester on 05/29/07 05:27 
At Mon, 28 May 2007 18:22:11 -0700, hmlarson let h(is|er) monkeys type: 
 
> hello, 
>  
> i am trying to validate a form field ... requiring the user to enter 1 
> of 2 possible security codes (for example 1000 or 9975). 
>  
> this part of my code does not seem to working - it gives the error 
> message when I enter the correct security code(s). 
>  
> 	if ($_POST['security_question'] != 1000 || 9975) { 
> 	$errors[]= 'You have entered an incorrect security code.'; 
> } 
>  
> any tips on handle this?  i am somewhat new to php - any info is much 
> appreciated.  thanks 
 
Your code : 
 
if ($_POST['security_question'] != 1000 || 9975) 
 
should be something like: 
 
if (($_POST['security_question'] != 1000) && 
    ($_POST['security_question'] != 1000)) { 
    [...] 
} 
 
It's easy to see this would become a lengthy script once there are more 
valid answers. Imagine there are 10 valid codes, or 50... 
 
So another way of doing it would be easier to maintain: 
 
$valid_codes = array (1000,1248,1722,1769,9975,9999); 
if (! in_array ($_POST['security_question'], $valid_codes)) { 
    // do 'invalid code stuff 
} 
 
Now adapting the script to accept other values as well is easy, just add 
them to the $valid_codes array. 
 
There are other ways still, as is often the case in programming. Ask 10 
people and you might get 5 different solutions. 
 
Good luck (with the homework ???? yes ???). 
Rgds, 
 
--  
Schraalhans Keukenmeester - schraalhans@the.spamtrapexample.nl 
[Remove the lowercase part of Spamtrap to send me a message] 
 
  "strcmp('apples','oranges') is -1"
 
  
Navigation:
[Reply to this message] 
 |