[ alfa-pro @ 04.06.2012. 18:44 ] @
Moze neko da mi objasni gde gresim?

Hocu da redirektujem se na sledecu stranu ako je uri segment(2) == index.php. Znaci samo da me redirektuje na default controller.
Sve sam ja to sredio i uradio funkciju za redirekciju ali dobijam sledecu gresku u mozili kada refreshujem.

The page isn't redirecting properly
Firefox has detected that the server is redirecting the request for this address in a way that will never complete.
This problem can sometimes be caused by disabling or refusing to accept cookies.

Pozivanje funkcije je

redirect('controller','method')

Code:
redirect('forum','dashboard');


Funkcija

Code:

if ( ! function_exists('redirect'))
{
    function redirect($controller, $action='index')
    {
        if(isset($controller)){
            require_once CONFIGPATH.'config'.EXT;
            return header( "Location:".site_url()."?controller=".$controller.'&action='.$action."");
        }        
    }
}


site_url() je = 'localhost/testFW/index.php'
[ Miroslav Ćurčić @ 04.06.2012. 19:58 ] @
Probaj dodati die(); nakon poziva redirect funkcije.
[ webjunior @ 04.06.2012. 20:17 ] @
( "Location:".site_url()."?controller=".$controller.'&action='.$action."")
probaj umesto ovog stavi ovo:

("Location: ' ".site_url." '?controller=' ".$controler." '&action=' ".$action." ' ")

[ alfa-pro @ 05.06.2012. 09:52 ] @
@Miroslav Ćurčić

Postavio sam die() nakod pozivanja redirect ali i dalje je isto.

Code:

if($this->segments(2) == 'index.php'){
            redirect('forum','dash');
            die();
        }



@webjunior

Nemeradi izostavio si () na site_url i nakon pozivanja te funkcije moj url izgleda like this:



Da vam objasnim malo celu proceduru kako sam ja zamislio to pa mi mozda pomognete ali na drugi nacin, mozda mi i netreba redirect..

E ovako u mom MVC u moj url treba da izgleda ovako.



URI segmet 2 u ovom slucaju je index.php
Ja ime controlera i metode hvatam pomocu $_GET array.
Code:

.class <Nama>

private $url;

    public function __construct()
    {
        $this->url = $_GET;
        $this->controller = $this->url['controller'];
        $this->action     = $this->url['action'];
    }


Meni $this->url['controller'] niz sadrzi naziv controller i vrednost iz url-a sto je u ovom sucaju controller=forum.
Ako sam na samo http://www.example.com/index.php strani $this->url[''] kljuc nepostoji i dobijam gresku Undefined index COntroller.Class name must be a valid object or a string in <>>>.

Eto zasto ja ocu sada redirekciju ako je samo index.php.


[ agvozden @ 05.06.2012. 10:46 ] @
proveri da li ti se ne javlja neka vrsta rekurzije, pa da imas vecitu redirekciju (mrtva petlja).
[ alfa-pro @ 05.06.2012. 19:03 ] @
Pomislio sam ja da je petlja upitanju ali problem je u tome sto ja nemam ni jednu petlju u tom delu koda a ni u funkcijama sem u Doctrine ORM. Ali on trenutno nije povezan sa mojim FW-om...

[ mlbrnda @ 05.06.2012. 19:39 ] @
Druže ti definitivno imaš neprestanu redirekciju, a browseri su napravljeni da takav slučaj posle 5 ili više redirekcija prekinu i jave ti poruku kao što si dobio.
Prostije rečeno neka tvoja skripta redirektuje na neku drugu a ta druga na neku treću ili prvu i tako u krug, takvu vrstu greške imaš, a ne grešku u okviru neke while ili for petlje koja se nikada ne završi...