IDの有無に応じてINSERTまたはUPDATEクエリが送信されるフォームページがあります(IDがある場合は、レコードを取得してフォームに事前入力するために使用されます)。いずれの場合も、処理はform.phpで行われるため、フォームのアクション自体は(action="/form.php">
)です。私の問題は、form.phpが送信後にリロードすると、URLのIDが空になるため、ページが「UPDATE」モードではなく「INSERT」モードになることです。これを解決するためのベストプラクティスの方法は何ですか?
これにどの演算子/条件を追加する必要がありますか'if'..。
if (isset($_GET['ID']) && is_numeric($_GET['ID'])) {
...送信後の空のIDURLを含める(つまりform.php?ID=
)
また、
`$ newID = mysql_insert_id(); 1をフォームのアクションに渡すにはどうすればよいですか?(私はここで成功せずにいくつかのバリエーションを試しました)
$newID = mysql_insert_id();
... [ をちょきちょきと切る ] ...<form method="post" action="/html/form.php?ID=<?php echo $newID; ?>">
私は隠された入力とセッションについて読んでいますが、この問題を解決するためにどちらを使用するかはまだはっきりしていません。最後に、フォームページをリロードする必要は絶対にないので、フォーム処理/データベースクエリを別のページ(たとえば、process.php)に移動して、単純化することをお勧めします。これについて何か意見はありますか?ベスト/一般的な方法は何ですか?
よろしくお願いします。
svs