【发布时间】:2012-12-21 23:31:04
【问题描述】:
在我的页面中,我使用标题位置在 twitter 登录中进行重定向。但它在我的服务器上运行良好。但是上传文件到其他服务器后就不行了
header("Location: login-twitter.php");
当尝试查看页面中的错误并使用以下代码时,我看到以下警告消息。
error_reporting(E_ALL); ini_set('display_errors', 'On');
警告:无法修改标头信息 - 标头已由(输出 开始于 /vhosts/www/samplehosts/mysite.com/samplefolder/header.php:258) /vhosts/www/samplehosts/mysite.com/samplefolder/signin.php 在第 24 行
重定向不适用于我网站中的任何页面。任何人都可以帮我解决这个问题
signin.php
if (array_key_exists("login", $_GET)) {
$oauth_provider = $_GET['oauth_provider'];
if ($oauth_provider == 'twitter') {
error_reporting(E_ALL); ini_set('display_errors', 'On');
header("Location: login-twitter.php");
}
}
<li class="twitter">
<a class="twitter_login" href="?login&oauth_provider=twitter" rel="nofollow">
<img src="images/twitter.png" width="206" height="33" >
</a>
</li>
但点击 twitter 按钮后,标题 URL 显示为
http://mysite.com/?login&oauth_provider=twitter
而不是重定向到 Twitter 登录页面。
【问题讨论】:
-
警告说明了重定向之前发送的一些数据,即可能是空格;或者在重定向发生之前必须没有输出
-
我无法理解该页面的警告内容。在 signin.php 第 24 行是“header("Location: login-twitter.php");"
-
@Rithu 第 258 行的文件
header.php中有什么内容?这条线上的东西似乎正在输出一些东西。 -
@Rithu 太奇怪了...您是否有必要将那个文件
header.php之前 包含在您在此处发布的代码中?或者你可以在那之后添加它吗? -
@Rithu 你是说第 258 行被评论了? PHP 没有办法告诉您输出从注释行开始。直接在服务器上检查该文件。也许你忘了上传更新的文件什么的。