2016-11-19 4 views
0

Hallo ich zu Laravel 5.3 vor kurzem umgezogen und ich habe dieses Problem, das auf Werke 5.2Laravel 5.3 Route Beitrag funktioniert nicht

i einfache Form haben und ich möchte Index umleiten, wenn der Benutzer es einreichen:

<form method="post" action="{{ route('create') }}"> 
     <div class="input-group"> 
      <label for="movie">Title Of Movie</label> 
      <input type="text" name="movie" id="movie" placeholder="Title Of Movie"> 
     </div> 
      <div class="input-group"> 
      <label for="author">Your Name</label> 
      <input type="text" name="author" id="author" placeholder="Your Name"> 
      </div> 
      <div class="input-group"> 
      <label for="email">Your Email</label> 
      <input type="email" name="email" id="email" placeholder="Your Email"> 
      </div> 
      <div class="input-group"> 
      <label for="quote">Your Quote</label> 
      <textarea name="quote" rows="5" id="quote" placeholder="Your Quote"></textarea> 
      </div> 
      <button type="submit" class="btn">Submit Quote</button> 
      <input type="hidden" name="_token" value="{{Session::token()}}"> 
     </form> 

jetzt dies ist mein Weg/web.php:

Route::get('/',[ 
    'uses' => '[email protected]', 
    'as' => 'index' 
]); 

Route::post('/new',[ 
    'uses' => '[email protected]', 
    'as' => 'create' 

]); 

und auch das ist mein Quotecontroller:

<?php 

namespace App\Http\Controllers; 

use App\Author; 
use App\Quote; 
use Illuminate\Http\Request; 

class QuoteController extends Controller 
{ 
    public function getIndex(){ 
     return view('index'); 
    } 

    public function postQuote(Request $request){ 

     $authorText = ucfirst($request['author']); 
     $quoteText = $request['quote'] ; 

     $author = Author::where('name', $authorText)->first(); 
     if(!$author){ 
     $author = new Author(); 
     $author->name = $authorText; 
     $author->save(); 
     } 
     $quote = new Quote(); 
     $quote->quote = $quoteText; 
     $author->quotes()->save($quote); 


    return redirect()->route('index')->with([ 
     'success' => 'Quote Saved!' 
    ]); 
    } 

} 

der Fehler erhalte ich, wenn ich einreichen:

NotFoundHttpException in RouteCollection.php Linie 161:

und ich verstehe wirklich nicht das Problem bitte Hilfe

+0

ich auch lerne Laravel und ich habe nie um die Strecke() in Formularen vor, so können Sie

{{csrf_field()}} versuchen. ..
und entfernen Sie die genannte Route vorerst aus der Webrouten-Datei –

+0

Hallo, ich habe alle Dinge, die Sie gesagt haben, aber es funktioniert nicht wieder und ich glaube auch nicht,/neue richtige Weg, weil Sie Route –

+0

verwenden müssen eigentlich, wenn Sie die Dokumente überprüfen, können Sie die Aktion direkt ohne route() innerhalb des Formular - Tags, so dass dies kein Problem ist und nur um mit Ihnen erneut zu überprüfen Ich hoffe, dass Sie nicht auf Live - Server testen und nicht Ihre Datei auf die ftp (dummer Check, aber manchmal können wir es vermissen) –

Antwort

0

wenn Sie Controller Sie erweitern Benutze und vergiss nicht, auch {{ csrf_field() }} in deinem Formular zu verwenden.

+0

hi ich probier das du sagst aber ich bekomme fehler dass der controller nicht existiert –

+0

ich habe falsch sintax benutzt. versuchen Sie es erneut –

+0

OK meinst du: Namespace App \ Http \ Controllers \ Controllers; und es tut mir leid, was das ist {{csrf_field()}} ist das neue in 5.3, weil ich immer verwendet:

0

hey Leute ich fand das Problem und das ist wirklich lustig bevor ich Ihnen sagen, was falsch ist, sollte ich Ihnen sagen, dass ich dieses Projekt auf dem Ordner hatte, der für Git-Hub war, also wenn ich Änderungen vornehmen kann ich Kommentar hinzufügen Problem war eigentlich, dass ich meine Ordner Namen Test und Großbuchstaben benannten Ordner Problem war so, wenn ich es zu Test ändern es funktioniert
Dank für Ihre Antworten danken

Verwandte Themen