Re: How to get the POST name of a field in a form that uses a counter [message #185951 is a reply to message #185931] |
Thu, 15 May 2014 12:15 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma:
|
Senior Member |
|
|
On 5/14/2014 7:22 PM, Adrienne Boswell wrote:
> I need to how to get the POST name of a field in a form that uses a
> counter. The fields are named based on that loop. Below is a small
> snippet of what I am doing:
>
> <?php
>
> $howmuch = array(20, 30, 5, 10, 15);
>
> ?>
> <form method="post">
> <?php
> for($s=0;$s<count($howmuch);++$s)
> {?>
> <input type="text" name="howmuch<?php echo $s; ?>" value="<?php echo
> $_POST[$howmuch ?]$s; ?>">
> <?php } ?>
> <input type="submit" value="Submit">
> </form>
>
> Here's where my problem is:
>
> When the user hits submit, I would get something in the post array like:
>
> howmuch0 : 20
> howmuch1 : 30
> howmuch2 : 5
> howmuch3 : 10
> howmuch4 : 15
>
> On a regular form, value="<?php echo $_POST[$howmuch]; ?>" works just
> fine, but since I'm naming the field in a loop, I need to have that, too.
> Using $_POST[$howmuch ?]$s; is not valid.
>
> I'm sure the answer to this is pretty simple, but I had a hard enough
> time trying to figure out a subject for this post, let alone knowing how
> to google for it.
>
> TIA for your help. I appreciate it.
>
>
I think you're going about this the wrong way. You should use a two
dimensional array for your value; it will be much easier in the long run.
Your input statement should look like:
<input type="text" name="howmuch[]"... >
Then your $_POST elements would be $_POST['howmuch'][0],
$_POST['howmuch'][1], etc.
You can also then use foreach($_POST['howmuch'] as ...)
to go through the 'howmuch' elements in the $_POST array.
--
==================
Remove the "x" from my email address
Jerry Stuckle
jstucklex(at)attglobal(dot)net
==================
|
|
|