如何将POST值传递给php页面

时间:2013-04-29 17:21:55

标签: php post

我有一个register.php页面。我通过表单将数据发送到php_register.php文件。此文件检查表单是否有效(电子邮件是真实的和这样的事情)。我希望php_register.php能完成他的工作并在无效格式的情况下发送给客户端寄回register.php文件:

header("Location: register.php");

我希望php_register.php将其他数据发送到register.php。在我的情况下,我想发送输入上出错的地方。我可以这样做:

header("Location: register.php?error=5");

通过register.php $_GET['error']我可以显示正确的输出。我想要做的是同样的事情,但改为获取方法,使用post方法(不涉及任何形式)? 我该怎么办?

2 个答案:

答案 0 :(得分:3)

长期和短期是你不能。互联网不是这样的。老实说,如果愿意,浏览器甚至可以忽略header(这就是header应该毫无例外地跟随dieexit或其他一些功能的原因。强制终止剧本。)。

您可以将值存储在$_SESSION中,或者您可以将POST发送到表单所在的同一页面(这是大多数框架处理此问题的方式),但您无法告诉浏览器“提交此内容”在其他地方张贴。“

答案 1 :(得分:0)

使用会话,例如 php_register.php

// start the session
session_start();

// Email check (do a more robust check of course)
if($_POST['email'] == "")
{
  $_SESSION['error'] = "Please enter an email address."
  header("Location: register.php");
  die();
}

然后在 register.php

// start session
session_start();

if(isset($_SESSION['error']))
{
  echo $_SESSION['error'];

  // unset now so it doesn't show again
  unset($_SESSION['error']);

}