Php 重定向工作不一致?

Php 重定向工作不一致?,php,oauth,twitter-oauth,Php,Oauth,Twitter Oauth,我有一个if-else脚本,它在1个实例上应该重定向,但是没有,有人知道为什么吗 if($usersClass->checkTwitterUserExists( $_POST['twitterUser'])) { print "<br><p>in use.</p>"; } else { #set_include_path(""); require 'library/Zend/Oauth/Consumer.php';

我有一个if-else脚本,它在1个实例上应该重定向,但是没有,有人知道为什么吗

if($usersClass->checkTwitterUserExists(
    $_POST['twitterUser'])) {
    print "<br><p>in use.</p>";
}

else {
    #set_include_path("");
    require 'library/Zend/Oauth/Consumer.php';    
    $rs = mysql_query("update `produgg_users` set `twitterUser` =  
        '".mysql_real_escape_string($_POST['twitterUser'])."' where 
        `id` = '".$usersClass->userID()."'") or die(mysql_error());
    $consumer = new Zend_Oauth_Consumer($config);

    // fetch a request token
    $token = $consumer->getRequestToken();
    // persist the token to storage
    $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token);
    // redirect the user
    $consumer->redirect();
}    
如果($usersClass->checkTwitterUserExists(
$\u POST['twitterUser'])){
打印使用中的“
”; } 否则{ #设置包含路径(“”); 需要“library/Zend/Oauth/Consumer.php”; $rs=mysql\u查询(“更新`produgg\u用户`set`twitterUser`= “.mysql\u real\u escape\u字符串($\u POST['twitterUser'])。”“其中 `id`='”$usersClass->userID().“'”)或die(mysql_error()); $consumer=新Zend_Oauth_consumer($config); //获取请求令牌 $token=$consumer->getRequestToken(); //将令牌持久化到存储 $\u会话['TWITTER\u请求\u令牌]]=序列化($TOKEN); //重定向用户 $consumer->redirect(); }
没有结束
}
(大括号)在你的if-else条件上。

我不知道这与Javascript有什么关系,所以我将它重新标记到oauth和twitter-oauth它是否进入过else块?是的,它进入了else然后刷新,有时重定向会工作,这很奇怪,请首先自行验证问题是否确实存在。这意味着你可以复制它。您能重现用户向您报告的问题吗?
Zend\u Oauth\u Consumer::redirect()
函数使用`$\u服务器['HTTP\u referer']?如果是这样的话,那是因为根据我所看到的,var的设置并不总是正确的。另外,这会导致语法错误,代码根本无法运行。@Lumbendil否,在else{
}?
@Lumbendil之后,我希望您将“重定向”移动到
else{}
条件的开头,然后我希望您以增量方式将其移动到下一行,直到您找到阻止重定向的有问题的代码。请随意跳过那些显然可以的行。有道理吗?结果,你会发现它是在require中失败了,还是在oauth部分失败了,或者在其他任何地方。我还没能重现这个问题,但我网站上的人有这个问题?@FinalForm抱歉,你刚才说如果,我没有注意到代码末尾缺少的
}
,因为这里的代码都是片段,所以我不太重视。