2013-01-09 147 views
0

可能重复:
Headers already sent by PHP重定向不起作用

我不知道为什么,如果我在独立调用这个文件,它的工作原理,但如果我把它在我的网站它不...但如果我用

echo "<br /><a href='".$url."'>Login with your Twitter account</a>" 

代替

header("Location: ".$url.""); 

它的工作原理...我想自动化的过程,而不是要求每次与Twitter连接。

代码:

<?php 
session_start(); 
require_once('twitteroauth/twitteroauth.php'); 
require_once('config.php'); 
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET); 
$request_token = $connection->getRequestToken(OAUTH_CALLBACK); 
$_SESSION['oauth_token'] = $token = $request_token['oauth_token']; 
$_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret']; 
switch ($connection->http_code) { 
case 200: 
$url = $connection->getAuthorizeURL($token); 
//echo "<br /><a href='".$url."'>Login with your Twitter account</a>"; 
header("Location: ".$url.""); 
break; 
default: 
echo 'Could not connect to Twitter. Refresh the page or try again later.'; 
} 
?> 
+0

如果你有一个回声或任何HTML重定向它不会工作,除非你有缓冲启用 – ianace

+1

什么不行?有错误?什么都没发生? – Veger

+0

通常在代码开始时使用ob_start()可以解决标题和回响问题 – x4rf41

回答

0

确保<?php开始标记之前删除任何空格。