私は同じアクションと送信ボタンを使って1ページにフォームを生成するMySQLを持っています。フォームの数はさまざまです。それらはすべて提出されたときに同じPHPファイルを呼び出します。また、投稿時にデータを収集する1つのPHPファイルがあります。以下の例を参照してください。複数のフォームと1つのPHPレシーバー
問題は、フォームの1つが送信されるときに値が異なるフォームの異なるフィールドと混同されることです。例:form1が送信されると、PHPはform6の値を受け取ります。
各フォームが独自の値を送信する方法を確認するにはどうすればよいですか?
HTMLコード例:
<form method="POST" action="index.php?action=newhistory" name="history_1">
<input type="hidden" name="id" value="1">
<input type="text" name="history">
<input type="submit" name="add_history" value="Submit">
</form>
<form method="POST" action="index.php?action=newhistory" name="history_6">
<input type="hidden" name="id" value="6">
<input type="text" name="history">
<input type="submit" name="add_history" value="Submit">
</form>
PHPコード例:
case 'newhistory':
$id = $_POST['id'];
$history = $_POST['history'];
$sql = mysql_query("INSERT INTO history (id, history) VALUES('".$id."', '".$history."')", $link);
break;
任意のソリューション?
なぜ異なるフォームに属していますが、すべてのフィールドに同じ名前を使用していますか? –
フィールドごとに変数を作成する手間を省く。また、フィールドは自動的に生成されるため、将来どのくらいの数があるかわかりません。 私はそれが理に適ったことを望みます。 –