2010-08-22 4 views
0

Я использую CakePHP v1.2 для моего веб-приложения, размещенного здесь: http://lol-land.inПеренаправление Loop в CakePHP Application

Приложение работает нормально до вчерашнего дня, но он вдруг начал застревать в некоторых циклах перепрофилирования. Что делает его более странным, так это то, что проблема связана с одним контроллером: сообщениями. И даже в том, что большинство функций работают. Но http://lol-land.in/posts перенаправляется на lol-land.in/posts/view/133, который, в свою очередь, перенаправляет на себя.

На самом деле 110 из 117 должностей вида/posts/view/застревают в этом переадресации 302.

Может кто-нибудь, пожалуйста, скажите мне, что могло бы вызвать это?

[CakePHP 1,3 и PHP5]

Edit: Добавление View Logic

function view($id = null) { 
$this->log("View Logic Entry", LOG_DEBUG); 
// These Log entires are missing 

$this->layout = 'postview'; 
if (!$id) { 
    $this->Session->setFlash(__('Invalid Post.', true)); 
    $this->log("Redirect due to missing id", LOG_DEBUG); 
    $this->redirect(array('action'=>'index')); 
} 
$log = $this->Session->read('Auth.User'); 
$logid = $log['id']; 

$temp = $this->Post->read(null, $id); 

$ratings = $temp['Rating']; 

$this->set(compact('up', 'down', 'userrated', 'userrateid')); 

$coms = $temp['Comment']; 
$comuser = array(); 
for ($i=0; $i<count($coms); $i++) { 
    $comuser[$i] = $coms[$i]['user_id']; 
} 
$comuser = $this->Post->User->find('list', array('fields'=>array('User.id', 'User.username'), 
         'conditions'=>array("User.id" => $comuser) 
        )); 
$this->set(compact('comuser')); 

$this->pageTitle = $temp['Post']['title']; 
$this->set('post', $temp); 
$alltypes = $this->Post->Type->find('list', array('fields'=> array('Type.id', 'Type.typename'))); 
$selectedtab = -1; 
$this->set(compact('alltypes', 'selectedtab')); 


//Calling updateFBStats 
// Removed because unnecessary. 

}

+0

Обновление: оно прекратило работать для ВСЕХ сообщений. :( – Mayank

+0

Вы вызываете '$ this-> set' слишком много раз. Сделайте это один раз. Отправьте параметры Auth компонента из' beforeFilter() '. У меня нет проблем с доступом к http://lol-land.in/ сообщения/просмотр/133. – bancer

+0

Но ваш сайт очень медленный. 5-6 секунд для каждой страницы. – bancer

ответ

1

Скорее всего, вы либо 1) с использованием циклических ссылок с помощью компонента Auth OR 2) функция в вашем контроллере перенаправляются делать что-то внутри метода. Можете ли вы показать код функции posts_controller.php view()?

+0

Действие «view» вызывало около 3-4 других действий, и где-то я используется == для сравнения значений, а не ===. Итак, null == 0 дал «true», что привело к перенаправлению назад для просмотра. И, следовательно, проблема. В принципе, очень плохое программирование на моей стороне. Но, спасибо за помощь :) – Mayank