You are here: Re: NEWBIE: validating drop down values « PHP Programming Language « IT news, forums, messages
Re: NEWBIE: validating drop down values

Posted by Rik Wasmus on 09/01/07 19:45

On Sat, 01 Sep 2007 20:25:08 +0200, skim1114 <skim1114@gmail.com> wrote:=


> I am embarrassed to ask this, but I've worked on this for hours and I
> can't seem to find what the error is. I am trying to teach myself php
> and I am in the very early stages of understanding it. I have a book
> that I am walking through. I created a form to validate...all pieces
> I've coded work, except the piece for the age drop down. There are 3
> options, 0-20, 30-60, and 60+. What in the code is wrong here?

What is actually going wrong? And what is in $_REQUEST['age'] if you che=
ck =

it?

> I
> understand this might not be the most efficient way to code this, but
> like I said, I'm just starting.
>
> I'm sure anyone with php knowledge could help me out with this in a
> second.
>
> Thanks in advance. Code below:
>
> ---------
>
> if (isset($_REQUEST['age'])) {

Its preferable to explicitly state where the value comes from, so =

$_GET['age'], $_POST['age'] etc.

> $ =3D $_REQUEST['age'];
>
> if ($age =3D=3D '0-29') {
> echo '<p>Your age selection was between 0-29</p>';
> }elseif ($age =3D=3D '30-60') {
> echo '<p>You age selection was between 30-60</p>';
> }elseif ($age =3D=3D '60+') {
> echo '<p>You age selection was between 60+</p>';
> }else{
> $age =3D NULL;
> echo '<p><font color=3D"red">You forgot to select you age!</font></p>=
';
> }

You might want to look into a switch statement (I'll assume POST, change=
=

if this isn't the case):
<?php
$age =3D false;
if(isset($_POST['age']){
switch($_POST['age']){
case '0-29':
case '30-60':
case '60+':
$age =3D $_POST['age'];
echo "<p>Your age selection was {$_POST['age']}</p>";
break;
default:
echo '<p style=3D"color:red;">'.htmlspecialchars($_POST['age']).' is =
not =

a valid selection.</p>';
=

}
}
if($age=3D=3D=3Dfalse) echo '<p style=3D"color:red;">You forgot to selec=
t you =

age!</p>';
?>

Or a 'valids' array:

<?php
$valids =3D array('0-29','30-60','60+');
if(isset($_POST['age']) && in_array($_POST['age'],$valids){
echo "<p>Your age selection was {$_POST['age']}</p>"; =

} else {
echo '<p style=3D"color:red;">Please select a valid age.</p>'
}
?>

-- =

Rik Wasmus

My new ISP's newsserver sucks. Anyone recommend a good one? Paying for =

quality is certainly an option.

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация