0

HTML FORM INPUT フィールドの php ファイルに検証関数を作成しています。関数は、正しく入力されていない場合はフォームに戻り、正しく入力されている場合は新しいページにジャンプする必要があります。ヘッダーを使用して URL に情報を書き込まずに、フォームから情報を送信するにはどうすればよいですか?

index.php のフォーム:

<form method='post' action='validate.php'>
Name: <input type='text' name='name'>
Job: <input type='text' name='job'>
City: <input type='text' name='city'>
<input type='submit' value='Submit'>
</form>

Validate.php:

if (!empty($_REQUEST['name']) And (!empty($_REQUEST['job'])) And (!empty($_REQUEST['city']))){
$name = $_REQUEST['name'];
$job = $_REQUEST['job'];
$city = $_REQUEST['city'];
header("Location: go.php?name=$name&&job=$job&&city=$city");
}

else {
header("Location: index.php");
}

また、入力されていないフィールドが 1 つだけの場合は、index.php に戻って既に入力されている情報を取得したいと思います。

4

1 に答える 1

1

あなたはそれをすべきではありません。
どこにもジャンプしないでください。

  • index.php をフォームのアクションにする
  • そのファイルで、フォームが送信されたかどうかを検出し、Validate.php を含めます
  • 検証が失敗した場合は、フォームをもう一度表示して、すべてのフィールドに入力します (htmlspecialchars() を忘れないでください)。

HTML 標準では、すべてのフォーム値 (およびテキストエリアのコンテンツ) を htmlspecialchars() を使用してエンコードする必要があります。

于 2013-03-09T06:52:46.920 に答える