2017-08-30 53 views
0

對不起,關於該標題,如果它很混亂,盡我所能描述我的問題。如何格式化屬於組的輸入名稱

所以我有一些輸入,在一個表單中,我想將它們組合在一起,因爲它們是同一實體的一部分。

我知道使用括號,以便它們被放入一個數組(通過PHP),例如使用複選框時,但我的情況有點不同。

我有3個輸入爲person,在形式上,可以有多個people

這是它會是什麼樣子如果我只有一個人的形式是什麼:

<input type="text" name="first_name"/> 
<input type="text" name="last_name"/> 
<input type="text" name="email"/> 

但是,我需要讓多個people,我想他們都在一個來通過陣列中的PHP,這樣的:

// print_r($_POST['people']); 
array(
    [0] => array(
     'first_name'=>'john' 
     'last_name' => 'smith' 
     'email'=>'[email protected]' 
    ) 
    [1] => array(
     'first_name'=>'john2' 
     'last_name' => 'smith2' 
     'email'=>'[email protected]' 
    ) 
) 

我已經嘗試(1):

<input type="text" name="people[][first_name]"/> 
<input type="text" name="people[][last_name]"/> 
<input type="text" name="people[][email]"/> 

一個d我曾嘗試(2):

<input type="text" name="people[first_name][]"/> 
<input type="text" name="people[last_name][]"/> 
<input type="text" name="people[email][]"/> 

和我曾嘗試(3):

<input type="text" name="people[][first_name][]"/> 
<input type="text" name="people[][last_name][]"/> 
<input type="text" name="people[][email][]"/> 

以上都不在我所提到的進一步上面的結構來通過。

我如何讓$_POST['people']看起來像我上面顯示的數組?

編輯:

這裏是(1)生產:

Array 
(
[0] => Array 
    (
     [first_name] => john 
    ) 

[1] => Array 
    (
     [last_name] => smith 
    ) 

[2] => Array 
    (
     [email] => [email protected] 
    ) 

[3] => Array 
    (
     [first_name] => john2 
    ) 

[4] => Array 
    (
     [last_name] => smith2 
    ) 

[5] => Array 
    (
     [email] => [email protected] 
    ) 

) 

感謝。

+0

什麼是變1號的問題? –

+0

@u_mulder我已經更新了我的問題,以顯示變體1產生的東西('print_r'-ing'$ _POST ['people']') –

回答

1

您必須明確將組索引設置爲組項目。你的情況將是:

<form method="POST" action=""> 
    <input type="text" name="people[0][first_name]"/> 
    <input type="text" name="people[0][last_name]"/> 
    <input type="text" name="people[0][email]"/> 
    <hr /> 

    <input type="text" name="people[1][first_name]"/> 
    <input type="text" name="people[1][last_name]"/> 
    <input type="text" name="people[1][email]"/> 
    <hr /> 

    <input type="text" name="people[2][first_name]"/> 
    <input type="text" name="people[2][last_name]"/> 
    <input type="text" name="people[2][email]"/> 
    <hr /> 

    <input type="submit" name="" value="" /> 
</form> 

而且在JavaScript的情況下增加新的領域,他們的名字也應該有明確指標:

name="people[4][email]" 
name="people[5][email]" 
<!-- etc -->