【问题标题】:header("location: XXXX.com"); in PHP not working [duplicate]header("位置:XXXX.com");在 PHP 中不起作用 [重复]
【发布时间】:2016-01-27 02:06:13
【问题描述】:

我有一个 PHP 脚本,它在用户单击提交按钮后发送电子邮件,它还会重定向到另一个页面。但是header('location: '); 不起作用。我已经删除了<?php 之前和?> 之后的空格

如何解决这个问题?

【问题讨论】:

  • Enable error reporting - 应该告诉你失败的原因。
  • “不工作”会导致头发着火还是?
  • @RobbieAverill 请查看更新后的帖子
  • "output started at ....... in ....." 那是您需要修复输出的地方
  • 为什么人们投票重新打开这个问题?这是一个明显的重复。

标签: php redirect header


【解决方案1】:

您问题的原始版本中的重定向不正确。提供给 Location 标头的位置必须是完整的 url。当你说:

header('Location: website.com');

浏览器将其解释为重定向到您网站上的website.com 文件。相反,您需要提供完整的网址,如下所示:

header('Location: http://website.com');

此外,在您遇到的错误中,

警告:无法修改标头信息 - 标头已由第 248 行 .../_resumeForm.php 中的(输出开始于 .../class.wp-styles.php:127)发送

表示您已经开始向浏览器输出内容。在您已经开始输出内容之后,您不能设置标题。 class.wp-styles.php:127 是代码中实际输出内容的位置,但很可能您是从其他地方(直接或间接)调用该代码。

为了修复错误,您必须找出输出开始的位置,并阻止它在那里发生。有关如何做到这一点的更多建议,see the answer to the question that this one has been marked a duplicate of

【讨论】:

  • 这是真的,但你仍然希望它重定向到 [currentUrl]/website.com,而不是根本不工作(编辑:我的“不工作”部分 假设意味着根本没有重定向-问题不清楚)
  • 即使我有那个 http: 还是不行
  • @User014019 那么你还有其他问题,除此之外,你最好的办法是打开错误报告,看看你是否收到错误,然后然后解决您也遇到的错误..
  • @User014019 define 不能正常工作
  • @jbafford 和 dagon,请查看更新后的问题
猜你喜欢
  • 2016-08-21
  • 1970-01-01
  • 2011-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-02
相关资源
最近更新 更多