1ページに3つの異なるフォームがあります。各フォームのデータは、異なるテーブルに入力されます。最初に作成したものでは、次のif
ステートメントを使用してデータをテーブルに挿入しています。
if ( $_SERVER['REQUEST_METHOD'] === 'POST' ) {
$band_name = $_POST['bandname'];
$band_website = $_POST['website'];
$band_descrip = $_POST['description'];
query(
"INSERT INTO bands(bandname, website, description) VALUES(:bandname, :website, :description)",
array('bandname' => $band_name, 'website' => $band_website, 'description' => $band_descrip),
$conn
);
} else {
$status = "Fill out the form";
}
if
フォームごとに1つずつ、3つの異なるバージョンのステートメントを作成する必要があると想定しています。送信されたフォームを指定するにはどうすればよいですか?
フォームを送信すると、フォームタグ内のデータのみが送信されるため、フォームを識別するために何かを使用して、どのフォームを確認できます。私は通常、送信ボタンの名前を使用してフォームを確認します。$_POST
1つのフォームにのみ使用する限り、任意の変数を使用できます。
<form method="post">
<input type="text" name="form1_text" />
<input type="submit" name="form1_submit" value="Submit" />
</form>
<form method="post">
<input type="text" name="form2_text" />
<input type="submit" name="form2_submit" value="Submit" />
</form>
<?php
if(isset($_POST['form2_submit'])) {
// Handle Form 2
}else if(isset($_POST['form1_submit'])) {
// Handle Form 1
}
?>
Webブラウザーがフォームを処理する方法の詳細については、W3.orgのHTMLドキュメント(HTMLドキュメント内のフォーム)を確認してください。これは、サーバーに送信されるデータと、そのデータがどのように選択/決定されるかを説明しています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加