2016-06-17 4 views
0

Wir hatten eine App vor fast einem Jahr entwickelt und hier habe ich ein Problem. Nach der Anmeldung in der Chrom sagt: The localhost page isn’t working, localhost redirected you too many times.. Und das Problem liegt in diesem Stück Code bei Controller, dass, während ich es entfernen, es funktioniert. Ich konnte nicht herausfinden, was damit nicht stimmt.Laravel - Localhost hat Sie zu oft umgeleitet

if(Auth::check()){ 
     $usertype=usertype::where('uid','=',Auth::user()->id)->first(); 
     if(isset($usertype)){ 
     if($usertype->type==1){ 
      $shopcatagory=shopcatagory::where('sid','=',Auth::user()->id)->first(); 
      $shopsubcatagory=shopsubcatagory::where('sid','=',Auth::user()->id)->first(); 
      $shopphone=shopphone::where('sid','=',Auth::user()->id)->first(); 
      $shopaddress=shopaddress::where('sid','=',Auth::user()->id)->first(); 
      $shopplace=shopplace::where('sid','=',Auth::user()->id)->first(); 
      if(!isset($shopaddress) || !isset($shopcatagory) || !isset($shopsubcatagory) || !isset($shopphone) || !isset($shopplace)){ 
       return Redirect::action('[email protected]',Auth::user()->id); 
      } 
     } 

     else if($usertype->type==3){ 
      $shopphone=shopphone::where('sid','=',Auth::user()->id)->first(); 
      $shopaddress=shopaddress::where('sid','=',Auth::user()->id)->first(); 
      $shopplace=shopplace::where('sid','=',Auth::user()->id)->first(); 
      if(!isset($shopaddress) || !isset($shopphone) || !isset($shopplace)){ 
       return Redirect::action('[email protected]',Auth::user()->id); 
      } 
     } 

     else if($usertype->type == 2){ 
      $userinterests=userinterests::where('uid','=',Auth::user()->id)->first(); 
      if(!isset($userinterests)){ 
       return Redirect::action('[email protected]'); 
      } 
     } 

     } 
    } 
+0

Abgesehen davon, dass Code so zusammengeklebt ist, ist es schwer zu lesen, es ist offensichtlich, dass es eine Endlosschleife gibt. Lesen Sie einfach diesen Kohl und bestimmen Sie, welche Teile ausfallen können und ob Sie mit diesem Fehler fertig waren oder nicht (aus einem Blick auf diesen Salat kann Ihr Code an so vielen Stellen versagen, dass es keine Mühe wert ist, eine Antwort zu schreiben). –

+0

Während ich dies postete, dachte ich das Gleiche, da es unsere erste Erfahrung mit Laravel war und jetzt kann ich nicht alle ändern, um es einfach besser zu machen. Es ist offensichtlich, dass es ein Spaghetti Code ist und ich fühle mich schlecht, während ich das sah. –

+0

@jszobody poste es als Antwort, damit ich es als richtige Antwort überprüfen kann. Ja, diese Kontrollen liefen dort und das Entfernen der Probleme löste das Problem. –

Antwort

1

In diesem großen Auth::check Block, gibt es zwei verschiedene Routen, die Sie möglicherweise zu umleiten: accountinfo und interests.

Wenn Sie also in einer Endlosschleife stecken bleiben, dann klingt es so, als ob dieser Code auf einer (oder beiden) dieser Routen läuft!

Verfolgen Sie, dass keine dieser beiden Routen diesen Auth::check Code mit den Weiterleitungen enthalten.