オープンソースの PHP Web フレームワークとして、Laravel は常に Web 開発者に好まれてきました。強力な機能と使いやすさが利点です。 Web アプリケーションの場合、ログインは非常に基本的な機能の 1 つです。 Laravel では、ユーザーのログインとジャンプをすぐに実装できます。
次に、ユーザーログインを実装してLaravelにジャンプする方法について説明します。
コードを書き始める前に、まず次の条件を確認する必要があります:
Laravel の ID 認証機能を有効にしていない場合は、ターミナルでプロジェクトのルート ディレクトリに移動し、次のコマンドを入力できます:
php 職人 make:auth
Laravel プロジェクトで本人認証機能を有効にしている場合は、次の手順で実装できます。
Laravelでは、ユーザーがフォームを通じて入力したユーザー名とパスワードを取得できます。一般に、次のコードに示すように、フォームに Post メソッドを設定し、LoginController というコントローラーに送信します。
<form method="POST" action="{{ route('login') }}"> @csrf <div> <label for="email">邮箱</label> <div> <input id="email" type="email" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus> </div> </div> <div> <label for="password">密码</label> <div> <input id="password" type="password" name="password" required autocomplete="current-password"> </div> </div> <div> <div> <div> <input type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}> <label for="remember"> 记住我 </label> </div> </div> </div> <div> <div> <button type="submit"> 登录 </button> @if (Route::has('password.request')) <a href="{{ route('password.request') }}"> 忘记密码了? </a> @endif </div> </div> </form>
ユーザーがフォーム情報を入力した後、「ログイン」ボタンをクリックします。 、データは LoginController コントローラーに送信されます。
app/Http/Controllers/Auth/LoginController.php ファイルでログイン メソッドを見つけ、メソッドの内容を次のように変更します。
use IlluminateHttpRequest; public function login(Request $request) { $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials)) { // 认证成功后的操作 } return back()->withErrors( ['email' => '用户名或密码错误'] ); }
上記のコードでは、最初に次のコードを取得します。ユーザーフォーム 送信されるデータはメールアドレスとパスワードです。次に、Auth::attempt() メソッドを使用してユーザーの認証を試みます。ユーザー認証が成功すると、if ステートメントで後続の操作が実行されます。そうでない場合は、ユーザー名またはパスワードが間違っていることをユーザーに知らせるエラー メッセージが返され、ログイン インターフェイスがリロードされます。
ユーザーが正常にログインしたら、ユーザーを指定されたページにジャンプする必要があります。 Laravelでは以下の2つの実装方法があります。
LoginController コントローラーにauthenticated() メソッドを追加することで、指定したページにリダイレクトできます。このメソッドは、ユーザー認証が成功した後に自動的に呼び出されます。変更された LoginController コントローラー コードは次のとおりです。
use IlluminateHttpRequest; public function login(Request $request) { $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials)) { return redirect()->intended('/home'); } return back()->withErrors( ['email' => '用户名或密码错误'] ); } protected function authenticated(Request $request, $user) { return redirect('/home'); }
上記のコードでは、ユーザーを /home ページにリダイレクトするAuthenticated() メソッドが示されています。
ログイン成功後にルートを登録することでリダイレクトを実装することもできます。 web.php ファイルで、次のルートを登録します:
Route::get('/home', function () { return view('home'); })->name('home'); Route::group(['middleware' => 'auth'], function () { Route::get('/', function () { return redirect()->route('home'); }); });
上記のコードでは、デフォルトのルート ルート / を認証ミドルウェアに登録しました。ユーザーが正常にログインすると、自動的に / にリダイレクトされます。ホームページ。
以上がLaravelでユーザーログインしてジャンプする方法です。 Laravelが提供する本人認証機能は、ユーザーログインを迅速に実装するのに非常に役立ちます。同時に、コントローラーとルーティングを通じて、ユーザーのジャンプを詳細に制御することもできます。
以上がlaravelログインジャンプの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。