Die übergabe-Variablen vom controller zum view - Laravel
Ich bin versucht, übergeben Sie eine variable aus einer Ansicht in einen controller, der eine andere Ansicht. Ich bekomme keine Fehler, aber wenn es an die Letzte Ansicht, die es nicht in die variable wie es soll. In der ersten Ansicht bin ich auch einfach nur ein name.
{{ Form::open(array('route' => 'form', 'method'=>'post')) }}
{{ $name = Form::text('name') }}
{{ Form::submit('Go!') }}
{{ Form::close() }}
Hier ist meine HomeController.php.
public function view1()
{
return View::make('stuff');
}
public function postView1($name)
{
return Redirect::route('view2')->with($name);
}
public function view2($name)
{
return View::make('view2')->with($name);
}
routes.php
Route::get('/', array('as' => 'stuff', 'uses' => 'HomeController@stuff'));
Route::post('form/{name}', array('as' => 'form', 'uses'=>'HomeController@postView1'));
Route::get('view2/{name}', array('as' => 'view2', 'uses' => 'HomeController@view2'));
view2.blade.php
{{ $name = Input::get('name') }}
<p> Hello, {{ $name }} </p>
Also warum wurde es nicht angezeigt?
InformationsquelleAutor porcupine92 | 2014-10-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zuerst sollten Sie Ihre
postView
Funktion in:Route:
in:
Nun, sollten Sie Ihre
view2
Funktion in:Nun in Ihrem
view2.blade.php
Sie sollten in der Lage sein zu verwenden:Und was genau die URL, die Sie in browser für, die? Sollten Sie zum Beispiel
http://localhost/yourproject/view2/porcupine92
Wenn ich geben Sie einen Namen in das Textfeld für das Formular und klicken Sie auf die senden-Schaltfläche", es geht um ansicht2 und sagt nur "Hallo {name}". Die URL sagt nur
http://localhost/myproject/view2/%7Bname%7D
. Wenn ich Typhttp://localhost/yourproject/view2/porcupine92
für die URL, es sagt nur "Hallo" und ohne Namen.Ich habe bearbeitet meine Antwort, jetzt Daten eingespritzt wird als parameter der route
Ich bin immer ein "NotFoundHttpException" jetzt. Könnte sein, dass da ein problem mit meine Routen?
InformationsquelleAutor Marcin Nabiałek
Müssen Sie den Namen der Variablen:
InformationsquelleAutor Laurence
Gute Antwort. Dies ist eine der saubersten Lösungen.
InformationsquelleAutor Sumesh Ps
Hier ist, was andere Antworten fehlen, direkt aus Laravel docs:
Also statt
{{$name}}
schreiben{{Session::get('name')}}
.InformationsquelleAutor cha-cha
Versuchen form sein wird, wenn Sie mit POST-Methode, die, warum die Einstellung variable in route es wird direkt auf Ihre Funktion mit den post-Daten.
route :-
controller-Funktion :-
- und get-Daten auf ansicht2 :-
Weitere Folgen HIER
prüfen print_r($Daten); Sie haben den Namen gibt es in Ihrem post-Daten? auch überprüfen aktualisierter form
InformationsquelleAutor Rakesh Sharma