0

同じ名前「name」を持つ2つのフィールド入力を持つフォームがあります

両方のフィールドを配列でキャプチャするには、何をする必要があるのでしょうか。

たとえば、field1がpostを取得し、field2が空の場合、探していたデータを含むarray [0]を取得し、field1とfield2が送信された場合、array[0]とarray[1を取得します。 ]入力されました。

現在、私が持っているフォームは、両方のフィールドが入力されている場合にのみキャプチャされ、一方が入力されている場合はキャプチャされません。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>


<?php 

$name=$_POST['name'];


if($name)
{

    echo $name;

    }


?>


</head>

<body>


<form action="<?php $_SERVER['PHP_SELF']?>" method="post">

  <p>name
  <input name="name" id="name" type="text" />



  </p>
  Name

  <input name="name"  id="name" type="text" />
  <p>&nbsp;</p>


  <input name="submit" type="submit" />
</form>
</body>
</html>

変数名の最終結果を、フィールド1とフィールド2からキャプチャされたデータの両方を含む配列にしたいと思います。

ありがとう

4

1 に答える 1

7

各フィールドの名前をに変更すると、PHPでとを使用しname[]てアクセスできるようになります。$_POST['name'][0]$_POST['name'][1]

編集:name[1]HTMLでインデックスを明示的に設定したりname[foo]、を使用してPHPからアクセスしたりすることもできます$_POST['name']['foo']

于 2012-09-17T20:29:14.297 に答える