Wie umleiten zu einer anderen Ansicht in Laravel
Bin ich mit Laravel 5.2. Ich habe ein einfaches Formular auf der homepage. Klickt ein Benutzer die Suche auf, die Sie bilden sollten, schicken Sie Sie zu einer Registrierungs-Seite. Es ist nur ein dummy-form, so dass keine Daten übermittelt werden. Ich bin mir nicht sicher, was ich in meiner Strecken-Datei. Muss ich etwas in meinen Controller-Datei? Jede Hilfe wird geschätzt.
Dies ist, was ich habe auf meiner Hauptseite...
form action="{{route('register')}}" method="post"
- Brauchen Sie nur ein einfaches Formular Absenden und Umleitung zu einem anderen url oder etwas ähnliches, wenn Sie nicht eingeloggt sind, um eine Umleitung zu registrieren-Seite?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du willst also gehen Sie auf die "registrieren" - Seite, wenn das Formular abgeschickt wird. Warum wollen Sie das tun? Obwohl, wenn Sie wollen, das zu tun, @Vinicius Antwort richtig ist. Ich denke, was Sie wollen, ist - "Wenn mein Benutzer angemeldet sind, dann tun Sie das suchen, gehen Sie statt dessen auf die register-Seite".
Zu tun, was ich dir Vorschlage, Sie müssen kategorisieren Sie Ihre Routen in middleware.
So, in den Routen-Datei, legen Sie diese route.
Diese route stellt sicher, dass die "suchen-Funktion" - Methode ist nur verfügbar, wenn Sie angemeldet sind. Wenn laravel feststellt, dass der Benutzer nicht eingeloggt ist, wird es automatisch leiten Sie den Benutzer auf die
register
Seite.Für mehr Informationen Blick auf diese code. Dies ist die middleware-Funktionalität, die darüber entscheidet, ob der Benutzer angemeldet ist oder nicht. Wie Sie sehen können, laravel standardmäßig leitet den Benutzer auf die login-Seite. Für die, die Sie umleiten Benutzer auf der Seite registrieren, ändern Sie die Zeile in dieser.
register
route in Ihrem routes.php Datei? Vergessen Sie nicht die vollständige URL, die Sie anrufen. z.B.localhost/myproject/public/register
statt nurlocalhost/register
view
Ordner. So stellen Sie sicher, dass register ist wirklich vorhanden sind, innerhalb der Ordner anzeigen.views
- Ordner innerhalb desresources/views
Ordner. Laravel ist standardmäßig innerhalb derresources/views
Ordner und wird voraussichtlich eine andere Ansicht Ordner drin. Oder einfach ändern Sie dieviews.register
nurregister
in der routes-Datei.Route::get('register', ...
. So können Sie die verpasste/
hier. Versuchen Sie `Route::get('/register', ... ' statt. Sorry, aber ich habe keine Vorschläge mehr zu geben. Seine irgendwo einen dummen Fehler. Ich bin sicher, Sie werden es finden wenn Sie es wieder von vorne an.auth
middleware-Funktion, die verlangen, dass Benutzer authentifiziert werden. So brauchen Sie nicht zu definieren, um die Routen vor, die middleware. Verschieben Sie das gesamte register route innen, die middleware.web
middleware, welche ohne Zweifel Sie erstellt haben. Alles was ich sage ist, dass Sie möglicherweise nicht haben stellen Sie Ihre Routen korrekt in der Datenbank-middleware, daher der Fehler.Müssen Sie zum hinzufügen einer redirect-Anweisung mit der Formular-Ansicht, einige wie diese, die in die Routen-Datei:
Können Sie diese return-Anweisung in einem controller, und Ihre route Datei wird so etwas wie dieses:
Und controller: