Re: Why does this happen?
| From: | Noah | Date: | Mon, 10 Feb 2003 00:50:29 +0000 |
| Subject: | Re: Why does this happen? | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-134978@lists.php.net to get a copy of this message | ||
Hey Ernest.
This looks like the solution I'll need to make my CF interface work in PHP.
I'll check it out.
Thanks!
--Noah
----- Original Message -----
From: "Ernest E Vogelsinger" <ernest@vogelsinger.at>
To: "CF High" <noah@newminddesign.com>
Cc: <php-general@lists.php.net>
Sent: Sunday, February 09, 2003 6:39 AM
Subject: Re: [PHP] Why does this happen?
> At 04:52 09.02.2003, CF High said:
> --------------------[snip]--------------------
> >In this test form when I submit and insert into my db, only the last
select
> >field get entered; i.e. in this case the day value of 25.
> >
> ><form name="form1" method="post" action="">
> >
> >Year
> ><select name="date" onSelect="return check_submit()">
> > <option selected value=2002>2002</option>
> ></select>
> >
> >Month
> ><select name="date">
> > <option selected value=12>12</option>
> ></select>
> >
> >Day
> ><select name="date">
> > <option selected value=25>25</option>
> ></select>
> >
> ><input type="submit" name="textfield">
> >
> ></form>
> >
> >Why does this happen? In Cold Fusion I'm able to refer to the three
selects
> >as #date# and it returns 20021225 as expected.
> --------------------[snip]--------------------
>
> I don't know much about CF, but in plain HTML as you show here you have 3
> different form input (select) fields sharing the same name. Thus the
> browser will transmit only one of the three input (select) fields upon
> submit (it is undefined which field will be sent, but most browsers will
> transmit the last value).
>
> Maybe CF fiddles around with the element names, PHP doesn't. You could
e.g.
> format the 3 elements to transmit an array, something like this:
>
> <form name="form1" method="post" action="">
> Year
> <select name="date[Y]" onSelect="return check_submit()">
> <option selected value=2002>2002</option>
> </select>
> Month
> <select name="date[M]">
> <option selected value=12>12</option>
> </select>
> Day
> <select name="date[D]">
> <option selected value=25>25</option>
> </select>
> <input type="submit" name="textfield">
> </form>
>
> In your receiving script you would have an associative array named "date"
> in the $_REQUEST structure:
>
> $date_received = $_REQUEST['date'];
> $year = $date_received['Y'];
> $month = $date_received['M'];
> $day = $date_received['D'];
>
> HTH,
>
>
> --
> >O Ernest E. Vogelsinger
> (\) ICQ #13394035
> ^ http://www.vogelsinger.at/
>
>