Php 重定向工作不一致?
我有一个if-else脚本,它在1个实例上应该重定向,但是没有,有人知道为什么吗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($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抱歉,你刚才说如果,我没有注意到代码末尾缺少的}
,因为这里的代码都是片段,所以我不太重视。