2017-05-18 2 views
0

Ich erhalte diese Fehlermeldung:So beheben Sie diesen Fehler: NotFoundHttpException in Controller.php?

NotFoundHttpException in Controller.php Zeile 269: Controller-Methode nicht gefunden.

Kann mir jemand helfen, diese Fehlermeldung zu beheben? Hier werden alle Codes, die mit der Fehlermeldung verwandt ist:

HomeController.php

public function postSeo(Request $request) 
{ 



    $data = array('meta_title' => $request->get('meta_title'), 
       'meta_keyword' => $request->get('meta_keyword'), 
       'meta_description' => $request->get('meta_description') 
       ); 


    DB::table('meta')->where('meta_id', '1') 
        ->update($data); 

    return redirect('/home/article');     

} 

routes.php

Route::post('/home/article', [ 
    'uses' => '[email protected]' 
]); 

articles.blade.php

<label>SEO</label><br><br> 

               <table width="350px"> 
               <form action="{{ action('[email protected]')}}" method="post"> 
               {{ csrf_field() }}  

               <tr> 
               <td>Meta Title</td> 
               <td><input type="text" value="" name="meta_title"></td> 
               </tr> 
               <tr> 
               <td>Meta Keyword</td> 
               <td><input type="text" value="" name="meta_keyword"></td> 
               </tr> 
               <tr> 
               <td>Meta Description</td> 
               <td><input type="text" value="" name="meta_description"></td> 
               </tr> 
               <tr> 
               <td><br><br><input type="submit" value="update"></td> 
               <td></td> 
               </tr> 

               </form> 
               </table> 
+0

Wann erhalten Sie den Fehler? Nach dem Absenden des Formulars? Sie leiten zu '/ home/article' um, haben Sie die Route dafür festgelegt? – Sandeesh

+0

Beim Übermitteln des Formulars. Nein, das sind die einzigen Wege dafür. – Davy

+0

Sie verpassen die Route, die Sie umleiten. Wenn Sie zu "/ home/article" umleiten, müssen Sie eine "get" Route dafür definieren. Umleiten Sie einfach zu einem anderen Ort oder fügen Sie eine neue Route hinzu, um nach dem Update etwas anzuzeigen. – Sandeesh

Antwort

0

Nach der Aktualisierung Sie leiten um auf /home/article, was eine Route ist. Sieht so aus, als hättest du diese Route nicht definiert. Sie müssen diese Route entweder hinzufügen oder woanders umleiten.

Wenn Sie keine Route benötigen, finden Sie eine entsprechende Seite zum Umleiten.

+0

Ich ändere die Route zu: Route :: post ('/ home/article', 'HomeController @ postSeo'); Warum benötige ich beide Routen? – Davy

+0

In Ihrer 'postSeo'-Methode tun Sie dies' return redirect ('/ home/article'); ', also müssen Sie diese Route definieren, die eine Route ist. Wenn Sie nicht möchten, dann umleiten zu einem anderen Ort. – Sandeesh

+0

Wenn ich das mache dann was in öffentlichen Funktion schreiben sollte showSeo (Anfrage $ Anfrage) {? } – Davy

Verwandte Themen