开发者

How to get an array of data from $_POST

开发者 https://www.devze.com 2023-01-05 09:36 出处:网络
I have a form with multiple textboxes with the same names. I want to get the data from all the textboxes in my PHP code.

I have a form with multiple textboxes with the same names. I want to get the data from all the textboxes in my PHP code.

Here is my code.

Email 1:<input name="email" type="text"/><br/>
Email 2:<input name="email" type="text"/><br/>
Email 3:<input name="email" type="text"/><br/>
$email = $_POST['email'];
echo $email;

I wanted to have a result like this:

email1@email.com, email2@email.com, email3@email.com

Instead I only 开发者_StackOverflow中文版get the text from the last textbox.


Using [] in the element name

Email 1:<input name="email[]" type="text"><br>
Email 2:<input name="email[]" type="text"><br>
Email 3:<input name="email[]" type="text"><br>

will return an array on the PHP end:

$email = $_POST['email'];   

you can implode() that to get the result you want:

echo implode(", ", $email); // Will output email1@email.com, email2@email.com ...

Don't forget to sanitize these values before doing anything with them, e.g. serializing the array or inserting them into a database! Just because they're in an array doesn't mean they are safe.


<input name="email[]" type="text">
<input name="email[]" type="text">
<input name="email[]" type="text">
<input name="email[]" type="text">

$_POST['email'] will be an array.


Another example could be:

<input type="text" name="email[]" value="1">
<input type="text" name="email[]" value="2">
<input type="text" name="email[]" value="3">

<?php
     foreach($_REQUEST['email'] as $key => $value)
          echo "key $key is $value <br>";

will display

key 0 is 1
key 1 is 2
key 2 is 3
0

精彩评论

暂无评论...
验证码 换一张
取 消