我可能在这里忽略了一些非常明显的东西。为什么这个HTTP请求不断循环?
评论是,以帮助解释任何库特定的代码。
public function areCookiesEnabled() {
$random = 'cx67ds';
// set cookie
cookie::set('test_cookie', $random);
// try and get cookie, if not set to false
$testCookie = cookie::get('test_cookie', false);
$cookiesAppend = '?cookies=false';
// were we able to get the cookie equal ?
$cookiesEnabled = ($testCookie === $random);
// if $_GET['cookies'] === false , etc try and remove $_GET portion
if ($this->input->get('cookies', false) === 'false' AND $cookiesEnabled) {
url::redirect(str_replace($cookiesAppend, '', url::current())); // redirect
return false;
}
// all else fails, add a $_GET[]
if (! $cookiesEnabled) {
url::redirect(url::current().$cookiesAppend);
}
return $cookiesEnabled;
}
首先,我想要一个简单的方法来检查cookie是否启用。我做到了这一点,但在没有cookie的情况下,URL中有一个丑陋的?cookies=false
。
这是确定的,但这时如果重新加载页面,的确有饼干再次启用,我想将用户重定向所以它在URL中剥离?cookies=false
(允许该方法重新检查和学习饼干现在是启用)。
对不起,这就是我的意思。我有Live HTTP Headers,但我不确定我应该改变以停止。它似乎在请求,并且每一次都被重新定向(当cookies被禁用时)。 – alex 2010-03-15 01:32:59