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

1つの入力フィールド、つまりユーザー名しか取得できませんでした 3つの入力すべてをsub.phpに取得できますか

4

4 に答える 4

3

質問が理解できれば

 <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>"; // dollar symbol added
}

echo "all usernames: ";
$all_ids = array_keys($users);
foreach($all_ids as $current_id) {
    echo $users[$current_id]['name']." ";
}
于 2012-10-09T17:39:38.007 に答える
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>";
    }
于 2012-10-09T17:29:26.890 に答える
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 コードで値の配列として認識させたいが、テキスト フィールドが 1 つしかないことを意味するためです。

フォームからすべての入力を取得したい場合は、次を使用する必要があります。

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

フォームにチェックボックスがないため、テキストボックスに変更しました

于 2012-10-09T17:06:16.780 に答える
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>";
    }
于 2012-10-09T17:36:35.197 に答える