【问题标题】:Using header in PHP with hidden input fields在 PHP 中使用带有隐藏输入字段的标题
【发布时间】:2013-02-24 19:58:37
【问题描述】:

我正在一个 php 文件中为我的 HTML FORM INPUT 字段创建一个验证函数。 如果未正确填写,该功能应跳回表单,如果填写正确,则应跳转到新页面。 如何从表单中发送信息而无需使用标头在 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 以获取已填写的信息。

【问题讨论】:

  • 你试过用ajax吗?
  • 尝试 javascript 或 jquery 验证。

标签: php validation header hidden-field


【解决方案1】:

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

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

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

【讨论】:

  • 谢谢。我会试试的。我有点菜鸟 - 我应该把 htmlspecialchars() 放在哪里?
  • 在 validate.php 中获取帖子/获取数据后
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-16
  • 2012-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多