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>

验证.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");
}

如果只有一个字段未填写,我还希望跳转回 index.php 以获取已填写的信息。

4

1 回答 1

1

你不应该那样做。
不要跳到任何地方。

  • 使 index.php 成为表单的操作
  • 在该文件中检测表单是否已发送并包含 Validate.php
  • 如果验证失败,只需再次显示您的表单并填写所有字段(不要忘记 htmlspecialchars())

HTML 标准要求使用 htmlspecialchars() 对每个表单值(以及 textarea 内容)进行编码

于 2013-03-09T06:52:46.920 回答