【问题标题】:How to implement 303 redirect?如何实现303重定向?
【发布时间】:2012-10-11 18:38:07
【问题描述】:

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

例子:

I send the form.

Redirect

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

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

非常感谢。

【问题讨论】:

  • @Daedalus 嗨,我还没试过,因为我更喜欢先通知。我刚刚看到有关 303 重定向以及为什么推荐它的文章、维基百科等,但没有看到有关如何检索数据的代码示例。我并没有说这不可行,只是想知道它的本意。谢谢
  • 所以为了确保我理解你,@Jorge,你想检索表单发送的信息,但发送它的方法并不重要(除了它是 POST,也就是说)?

标签: php redirect http-headers


【解决方案1】:

您可以通过其他方式而不是在 url 中传递参数。

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

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2019-05-09
      • 2014-05-19
      • 1970-01-01
      • 2011-04-22
      • 1970-01-01
      • 2015-08-31
      • 1970-01-01
      • 2014-12-02
      • 2011-11-01
      相关资源
      最近更新 更多