If I execute a "redirect () -> back () -> withInput ()" in my controller, I do not get an old () value in my template. The -> with () errors are also not passed.
What could be the reason? My codes:
LoginController.php
class LoginController extends Controller
{
public function login()
{
return view("auth.login");
}
public function loginPost(Request $request)
{
$User = User::where("email", $request->get("mail"))->first();
if($User == null)
{
return redirect()->back()->with('emailError', 'No account with this email.')->withInput();
}
if(!Hash::check($request->get("password"), $User->password))
{
return redirect()->back()->with('passwordError', 'Wrong password')->withInput();
}
if($User->activated == 0)
{
return redirect()->back()->with('emailError', 'Your account is blocked.')->withInput();
}
Auth::login($User, true);
return redirect()->route("user.home");
}
}
login.blade.php
<form method="POST" action="">
@csrf
<div class="form-group">
<label for="inputEmail">Mail adress:</label>
<input type="email" name="mail" class="form-control" id="inputEmail" aria-describedby="emailHelp" placeholder="Your mail" value="">
@if (Session::has('emailError'))
<div id="phoneError" class="formError row fg-align-items-center" style="margin-top:5px;">
<i class="fas fa-exclamation-triangle"></i>
<span class="errorText"></span>
</div>
@endif
</div>
<div class="form-group">
<label for="inputNumber" style="margin-top:15px;">Password:</label>
<input type="password" name="password" class="form-control" id="inlineFormInputGroupUsername" placeholder="*****">
@if (Session::has('passwordError'))
<div id="phoneError" class="formError row fg-align-items-center" style="margin-top:5px;">
<i class="fas fa-exclamation-triangle"></i>
<span class="errorText"></span>
</div>
@endif
</div>
<div class="row form-group fg-justify-content-center">
<button type="submit" class="btn btn-primary" style="margin-top:15px;width:120px;">Log in</button>
<a href=""><button type="button" class="btn btn-primary" style="margin-top:15px;width:120px;margin-left:20px;">New here?</button></a>
</div>
</form>
web.php (Routes)
Route::get('/login', [App\Http\Controllers\LoginController::class, 'login'])->name('login')->middleware('guest');
Route::post('/login', [App\Http\Controllers\LoginController::class, 'loginPost'])->name('login')->middleware('guest');
What is the reason for the malfunction?
source https://stackoverflow.com/questions/69334697/laravel-8-back-withinput-is-empty
Comments
Post a Comment