2017-11-16 2 views
1

Ich entwickle ein Quiz und möchte überprüfen, ob die Frage bereits beantwortet dann etwas drucken oder Formular deaktivieren, weil nach dem Einreichen, Seite wird zurückgeleitet werden, um die neue Option Benutzer anzuzeigen hat irgendeine Beobachtung oder Reservierung. Also, wenn Formular zurück umleiten wird, wie kann ich Formular überprüfen oder deaktivieren, so dass Benutzer Formular nicht erneut einreichen können. Ich verwende folgende Methode zurück UmleitungWie man einen String oder eine Variable mit Rückgabe der Funktion in Laravel

Rückkehr zur Umleitung() -> zurück()

aber wenn ich eine Variable mit() Methode übergeben bekam ich keinen Erfolg. System erkennt meine Variable nicht.

Ich versuchte

return redirect()->back()->withDisable('disable'); 

Antwort

1

Nur with sollte es tun. Zum Beispiel:

return redirect()->back()->with('status', 'disable'); 

Dies wird in den Sitzungsdaten gespeichert, so können Sie es überprüfen:

@if (session('status')) 
... 

Von: https://laravel.com/docs/5.5/redirects#redirecting-with-flashed-session-data

+0

danke, ich löste mein Problem mit Ihnen helfen, aber ich kann Ihre Antwort nicht akzeptieren, weil Stackflow mir innerhalb von 2 Minuten zu akzeptieren diese Frage. –

+0

Froh, dass es funktioniert :) – kerrin

2

Sie Flash-Daten in Laravel für diese Art verwenden können der Aufgabe.

Was sind Flash-Daten?

Flash-Daten helfen Ihnen, Elemente in der Sitzung nur für die nächste Anfrage zu speichern. Daten, die in der Sitzung mit dieser Methode gespeichert werden, stehen nur während der nachfolgenden HTTP-Anfrage zur Verfügung und werden dann gelöscht.

$request->session()->flash('disabled', 'true'); 

jedoch Wenn Sie Ihre Flash-Daten um mehrere Anfragen halten müssen

$request->session()->keep(['disabled', 'true']); 

Ihre Sitzung/Flash-Daten zuzugreifen, können Sie einfach

$request->session()->all() //all flash session data 

$request->session()->get('disabled') // for specific 

Hoffnung tun, die

hilft
Verwandte Themen