2012-10-09 75 views
0

我有喜歡動態表單提交

<form action="sub.php" method="post"> 
    <input type="text" name="username[]"><br> 
    <input type="text" name="hometown[]"><br> 
    <input type="text" name="country[]"><br> 
    <input type="submit" value="submit"> 
</form> 

sub.php形式

$username = $_POST["username"]; 
foreach($_POST['username'] AS $ID => $Value){ 

     echo "Checkbox with value ".$sValue." was checked!<br>"; 
    } 

我能得到一個只有一個輸入字段即用戶名 我們能得到所有3inputs到sub.php

+0

您可以通過所有張貼的值要循環?只要在'$ _POST'上做一個'foreach'。 – Brad

+0

'$ _POST ['user']'從哪裏來?爲什麼這些文本輸入試圖成爲數組?代碼中似乎有許多拼寫錯誤或其他未解釋的事情。你究竟想要做什麼? – David

+0

@David - 雅的代碼被編輯爲用戶名。謝謝!!! – karthik

回答

0

我不確定你的問題是什麼,但是你的html有幾個問題。它應該是以下幾點:

<form action="sub.php" method="post"> 
    <input type="text" name="username"><br> 
    <input type="text" name="hometown"><br> 
    <input type="text" name="country"><br> 
    <input type="submit" value="submit> 
</form> 

我刪除了從田間地頭的支架,因爲支架通常意味着你希望你的PHP代碼,看看它是值的數組,但你有一個文本字段。

如果你想獲得所有的從表單中輸入你應該使用:

foreach($_POST AS $ID => $Value){ 
    echo "Textbox with value ". $Value ." was used!<br>"; 
} 

我改成了文本框,因爲你的形式沒有任何複選框

+0

不,我爲每個輸入文本命名,如用戶名[],家鄉[],國家[] – karthik

+0

HTML還有其他錯誤,包括不關閉標籤。 (並沒有關閉一個屬性值,但已在原始問題中修復) – David

+0

@David在我開始回答之前必須修復這個問題 –

0

試試這個(不優雅但應該告訴你在哪裏它去錯了..)

$username = $_POST["username"]; 
foreach($_POST['username'] AS $ID => $Value){ 

     echo "Checkbox with value ".$Value." was checked!<br>"; 
    } 
$hometown = $_POST["hometown"]; 
foreach($_POST['hometown'] AS $ht_ID => $ht_Value){ 

     echo "Checkbox with value ".$ht_Value." was checked!<br>"; 
    } 
$username = $_POST["country"]; 
foreach($_POST['country'] AS $c_ID => $c_Value){ 

     echo "Checkbox with value ".$c_Value." was checked!<br>"; 
    } 
+0

Ya同樣的邏輯我想,但我們可以做一切foreach或while循環或任何其他方式得到所有三個輸入 – karthik

+0

不,你將需要至少2個foreach循環,一個通過帖子,第二個獲得鍵=>每個帖子的值,或者如果這些鍵總是相同的,那麼你可以foreach(POST作爲key =>值)並在那裏定位已知鍵 - 這樣它的一個foreach循環 – Nick

0

如果你有正確的順序用戶名,故鄉,國家和等於#,然後你可以用下面的方式

foreach($_POST['username'] AS $ID => $Value){ 
     echo "Username ".$Value." was checked!<br>"; 
     echo "Hometown ".$_POST['hometown'][$ID]." was checked!<br>"; 
     echo "Country ".$_POST['country'][$ID]." was checked!<br>"; 
    } 
2

如果我沒有理解這個問題

<form action="sub.php" method="post"> 
    <input type="text" name="user[1][name]"><br> 
    <input type="text" name="user[1][hometown]"><br> 
    <input type="text" name="user[1][country]"><br> 

    <input type="text" name="user[2][name]"><br> 
    <input type="text" name="user[2][hometown]"><br> 
    <input type="text" name="user[2][country]"><br> 

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

PHP

$users = $_POST["user"]; 
foreach($users AS $ID => $info){ 
    echo "user $ID ({info['name']}) lives in {$info['hometown']}<br>"; 
} 

echo "all usernames: "; 
$all_ids = array_keys($users); 
foreach($all_ids as $current_id) { 
    echo $users[$current_id]['name']." "; 
}