|
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]
|