0

我有一个 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']我可以显示正确的输出。我想做的是同样的事情,而是使用 get 方法,使用 post 方法(不涉及任何形式)?我该怎么做?

4

2 回答 2

3

长和短是你不能。互联网不是这样工作的。老实说,如果浏览器愿意,它甚至可以忽略header(这就是为什么header应该无一例外地后跟die,exit或其他强制终止脚本的函数。)。

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

于 2013-04-29T17:25:04.647 回答
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']);

}
于 2013-04-29T17:28:57.180 回答