2017-07-29 87 views
1

我正在使用laravel進行登錄表單。我想要的是驗證POST值,如果沒有問題,則重定向到dashborad。如果不是,則用輸入重新導向。這是我的登錄表單:Laravel - 使用輸入形式返回

 <form method="post" autocomplete="off"> 
      <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
      <div class="form-group"> 
       <label for="email">Adresse courriel:</label> 
       <input type="email" class="form-control" id="email" name="email" required> 
      </div> 
      <div class="form-group"> 
       <label for="password">Mot de passe:</label> 
       <input type="password" class="form-control" id="password" name="password" required> 
      </div> 
      <button type="submit" class="btn btn-aqua">Se connecter</button> 
     </form> 

這是我AuthController功能:

public function postLogin(Request $request){ 

    Log::info('Showing user profile for user: '.$request); 


    if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) { 
     return redirect()->route('/admin/dashboard'); 
    } 

    return redirect()->back()->withInput(Input::all()); 
} 

當它重定向回來,我輸入的音符填滿。

回答

4

Laravel實現old()功能,帶回的輸入數據,如果提交的表單有錯誤:

<form method="post" autocomplete="off"> 
    <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
    <div class="form-group"> 
     <label for="email">Adresse courriel:</label> 
     <input type="email" class="form-control" id="email" name="email" required value="{{ old('email') }}"> 
    </div> 
    <div class="form-group"> 
     <label for="password">Mot de passe:</label> 
     <input type="password" class="form-control" id="password" name="password" required> 
    </div> 
    <button type="submit" class="btn btn-aqua">Se connecter</button> 
</form> 

我強烈建議不要帶回來的密碼。我知道這很煩人,但更安全的艾莫。

更多信息:https://laravel.com/docs/5.4/requests#old-input

+1

謝謝!它使用'old()' –

+0

很高興我能幫上忙。不要忘記確認這是一個答案,如果有人來這個話題:) – Treast