如何实现303重定向?

时间:2012-10-21 23:21:22

标签: php redirect http-headers

我想知道如何实现303重定向以显示post数据。

示例:

I send the form.

Redirect

Page displays the info I just posted. (Eg: Name, email).

我认为它是通过参数完成的,比如/index.php?name=TheName&email=theEmail,但我不确定,因为我试图找到一些好的文章解释它但不能。

非常感谢。

2 个答案:

答案 0 :(得分:10)

在PHP中,您可以使用header()执行303重定向:

header("HTTP/1.1 303 See Other");
header("Location: http://$_SERVER['HTTP_HOST']/new/location/here");

您可能遇到的问题是在重定向后保留表单信息。一种解决方案可能是使用PHP session variables来存储表单数据。

您可以使用参数重定向来传递提交的数据,但这不是我认为的“干净”解决方案。

答案 1 :(得分:1)

您可以采用其他方式,而不是在网址中传递参数。

  1. 发送表格。
  2. 检查有效值后,将结果存储在数据库中,就像通常那样存储。
  3. 重定向
  4. 从数据库或会话中检索。
  5. 在输出中使用htmlentities()