簡體   English   中英

動態表單提交

[英]dynamic form submitting

我的形式就像

 <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>";
    }

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

如果我理解這個問題

 <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']." ";
}

我不確定你的問題是什么,但是你的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>";
}

我將其更改為文本框,因為您的表單沒有任何復選框

嘗試這個(不優雅,但應該告訴你哪里出錯..)

$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>";
    }

如果你有相同的用戶名,家鄉,國家和正確的順序 ,那么你可以使用以下方式

   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>";
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM