検索
ホームページPHPフレームワークLaravellaravelは登録とログインを実装します

Laravel は、洗練された構文、強力な機能、豊富なドキュメントを備えた一般的に使用される PHP フレームワークであり、多くの PHP 開発者に選ばれるフレームワークとなっています。この記事では、Laravelフレームワークを使用して登録およびログイン機能を実装する方法を紹介します。

1. Laravel アプリケーションの作成
登録機能とログイン機能の実装を開始する前に、まず Laravel アプリケーションを作成する必要があります。次のように、Laravel によって公式に提供されている Composer コマンドを使用して、新しいアプリケーションを作成できます。

composer create-project --prefer-dist laravel/laravel your-project-name

ここで、your-project-name は、作成するアプリケーションの名前です。

作成が完了したら、アプリケーション ディレクトリに入り、ローカル サーバーを起動します。

cd your-project-name
php artisan serve

ブラウザに http://localhost:8000 と入力して、アプリケーションにアクセスします。ウェルカムページ。

2. 認証システムの作成
登録およびログイン機能を実装する前に、まず基本認証システムを作成する必要があります。 Laravel は、認証関連のビューとコントローラーを迅速に生成するための make:auth Artisan コマンドを提供します。

php artisan make:auth

上記のコマンドを実行すると、Laravel は registerloginlogout に関連するビューとコントローラーを自動的に作成し、それらをアプリケーション。さらに、Laravel はデータベース内に関連するユーザーとパスワードのリセットテーブルを作成します。

3. データベーステーブルの作成
デフォルトでは、Laravel は MySQL データベースを使用します。この例では、ユーザー データを保存するために users という名前のデータ テーブルを作成する必要があります。次の Artisan コマンドを使用してテーブルを作成できます:

php artisan make:migration create_users_table --create=users

上記のコマンドを実行すると、Laravel は database/migrations ディレクトリに create_users_table という名前のファイルを作成します。アプリケーションの移行ファイル。ファイルを開いて、up メソッドを次のように変更します。

public function up()
{
    Schema::create('users', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->string('name');
        $table->string('email')->unique();
        $table->timestamp('email_verified_at')->nullable();
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();
    });
}

上記の移行ファイルは、name## を含む users データ テーブルのフィールドを定義します。 # (ユーザー名)、email (メールアドレス)、password (パスワード) など。

移行ファイルを変更した後、次のアーティザン コマンドを実行して、

users データ テーブルを実際に作成する必要があります:

php artisan migrate

4. 登録ページを作成します

次に、ユーザーがユーザー名、電子メール アドレス、パスワードを入力できる登録ページを作成する必要があります。
resources/views/auth/register.blade.php ファイルを開くと、Laravel が基本的な登録フォームを作成したことがわかります。

この時点で、いくつかのフィールドを削除し、入力する必要がある

name フィールドとパスワード確認 password_confirmation フィールドを追加する必要があります。修正されたコードは次のとおりです:

<form method="POST" action="{{ route('register') }}">
    @csrf

    <div>
        <label for="name">{{ __('Name') }}</label>

        <div>
            <input id="name" type="text" name="name" value="{{ old('name') }}" required autofocus>
        </div>
    </div>

    <div>
        <label for="email">{{ __('E-Mail Address') }}</label>

        <div>
            <input id="email" type="email" name="email" value="{{ old('email') }}" required>
        </div>
    </div>

    <div>
        <label for="password">{{ __('Password') }}</label>

        <div>
            <input id="password" type="password" name="password" required>
        </div>
    </div>

    <div>
        <label for="password-confirm">{{ __('Confirm Password') }}</label>

        <div>
            <input id="password-confirm" type="password" name="password_confirmation" required>
        </div>
    </div>

    <div>
        <button type="submit">
            {{ __('Register') }}
        </button>
    </div>
</form>

5. 登録リクエストの処理

これで登録フォームが作成されましたが、ユーザーがフォームを送信しても有効になりません。したがって、登録リクエストを処理するには、
app/Http/Controllers/Auth/RegisterController.php ファイルを変更する必要があります。

public function store(Request $request)
{
    $this->validate($request, [
        'name' => 'required|string|max:255',
        'email' => 'required|string|email|unique:users|max:255',
        'password' => 'required|string|min:8|confirmed',
    ]);

    User::create([
        'name' => $request->name,
        'email' => $request->email,
        'password' => bcrypt($request->password),
    ]);

    return redirect()->intended('dashboard');
}

上記のコードは、登録リクエストを処理するために使用される

store() という名前のメソッドを定義します。まず、validate() メソッドは、要求されたデータを検証します。検証に合格した場合は、User モデルを使用して新しいユーザーを作成し、パスワードを暗号化します。最後に、アプリケーションのダッシュボード ページにリダイレクトします。

6. ログイン ページの作成

次に、ユーザーが登録したメール アドレスとパスワードを入力できるように、ログイン ページを作成する必要があります。
resources/views/auth/login.blade.php ファイルを開くと、Laravel が基本的なログイン フォームを作成したことがわかります。

7. ログイン要求の処理

登録フォームは作成されましたが、ユーザーがフォームを送信しても有効になりません。したがって、ログイン要求を処理するには、
app/Http/Controllers/Auth/LoginController.php ファイルを変更する必要があります。

public function store(Request $request)
{
    $credentials = $request->only('email', 'password');

    if (Auth::attempt($credentials)) {
        $request->session()->regenerate();

        return redirect()->intended('dashboard');
    }

    return back()->withErrors([
        'email' => 'The provided credentials do not match our records.',
    ]);
}

上記のコードは、ログイン要求を処理するために使用される

store() という名前のメソッドを定義します。まず、attempt() メソッドは、ユーザーが提供した資格情報を使用して認証を試みます。検証が成功すると、新しいセッションが生成され、ユーザーはアプリケーションのダッシュボード ページにリダイレクトされます。これが失敗した場合は、back() メソッドを使用して、エラー メッセージを表示してユーザーを元のログイン ページにリダイレクトします。

8. 認証ミドルウェアのセットアップ

登録およびログイン機能が実装されたら、認証されたユーザーのみがアクセスできるように、アプリケーションの特定のルートを保護する必要があります。 Laravel では、ミドルウェアを使用してこれを実現できます。 Laravel は、ユーザーがアプリケーションにログインしていることを確認する
auth というミドルウェアを提供します。

Laravel はデフォルトで、

auth ルート名を使用して任意のルートに auth ミドルウェアを適用します。次のコードを使用して 1 つ以上のミドルウェアを指定できます。

Route::get('/dashboard', function () {
    // 仅允许已登录用户访问
})->middleware(['auth']);

これで、認証されたユーザーのみが

/dashboard ルートにアクセスできるようになります。

概要

この記事では、Laravel フレームワークを使用して登録機能とログイン機能を実装する方法を紹介します。 Laravel フレームワークを利用すると、安全で信頼性の高い Web アプリケーションを迅速かつ簡単に構築し、Web アプリケーション開発プロセスを促進できます。初心者でも経験豊富な開発者でも、Laravel フレームワークを使用して独自の Web アプリケーションを構築してみることができます。

以上がlaravelは登録とログインを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Laravelを使用したフルスタック開発:APIとフロントエンドロジックの管理Laravelを使用したフルスタック開発:APIとフロントエンドロジックの管理Apr 28, 2025 am 12:22 AM

Laravelフルスタック開発では、APIとフロントエンドロジックを管理するための効果的な方法には次のものがあります。1)RESTFULコントローラーの使用とリソースルーティング管理API。 2)ブレードテンプレートとvue.jsまたはReactを介したフロントエンドロジックの処理。 3)APIバージョン化とページングを通じてパフォーマンスの最適化。 4)保守性とスケーラビリティを確保するために、バックエンドとフロントエンドのロジックの分離を維持します。

翻訳の紛失:分配されたチームの文化的ニュアンスと誤解翻訳の紛失:分配されたチームの文化的ニュアンスと誤解Apr 28, 2025 am 12:22 AM

totackleculturalintricaciesindistributedteams、fosteranenvironmentebreatingdifferences、vemindfulofcommunication、およびusetoolsforclarity.1)CulturalExchangesSsionsistoriesSionsandtraditions.2)CommunicationMethodStosuitCultulpreference

接続の測定:リモート通信の有効性に関する分析と洞察接続の測定:リモート通信の有効性に関する分析と洞察Apr 28, 2025 am 12:16 AM

COMSESTESTESTESTESTESTESTESTESTESTESTESTESTEREMOTECommunication、Focuson:1)EngagementMetricsLikeMessageFRequenceAndResponsetime、2)SentimentAnalysistogaugeMotionaltone、3)Meating fisondentivencivitionSanceAndAnceAndActionItems、and4)netarysistoundErtindErtindESTANDSTANDCOMMUNICATIONPA

分散チームのセキュリティリスク:遠隔の世界でデータを保護する分散チームのセキュリティリスク:遠隔の世界でデータを保護するApr 28, 2025 am 12:11 AM

toprotectSensitivedAtaindistributedTeams、explientamulti-facetedapproach:1)usedto-to-dencryptionforsecurecommunication、2)applyrole BasedAccessControl(RBAC)tomanagepermissions、3)incryptdataatrestwithkeymanagemenations and4)

電子メールを超えて:リモートコラボレーションのための最新のコミュニケーションプラットフォームの探索電子メールを超えて:リモートコラボレーションのための最新のコミュニケーションプラットフォームの探索Apr 28, 2025 am 12:03 AM

いいえ、emailisnotthebostforremotecollaborationtoday.modern platformlack、Microsoftチーム、ズーム、Asana、およびtrellellofferreal-time通信、プロジェクト管理、および統合FeatureSthancteamWorkedeficiency。

共同ドキュメント編集:分散チームのワークフローの合理化共同ドキュメント編集:分散チームのワークフローの合理化Apr 27, 2025 am 12:21 AM

コラボレーティブドキュメント編集は、分散チームがワークフローを最適化するための効果的なツールです。リアルタイムのコラボレーションとフィードバックループを通じてコミュニケーションとプロジェクトの進捗を改善し、一般的なツールにはGoogleドキュメント、Microsoftチーム、概念が含まれます。使用時のバージョン制御や学習曲線などの課題に注意してください。

前のLaravelバージョンはどのくらいサポートされますか?前のLaravelバージョンはどのくらいサポートされますか?Apr 27, 2025 am 12:17 AM

PreviousVersionOflAravelisSupportedededSedesixmonthsandSecurityFixesseSeCurityfixesseSearaheearAfterAnewMajorversion'sRelease.Surstanding understanding understanding untinding for PlanningUpgrades、保証されている可能性、およびレバレングリエンジュレーリュアリュアリュアリュアリュアシュリュアケーション

フロントエンド開発とバックエンド開発の両方のLaravelの機能を活用しますフロントエンド開発とバックエンド開発の両方のLaravelの機能を活用しますApr 27, 2025 am 12:16 AM

laravelcanbeefeectivelyは、development.1)backend:utilizelaravel'seloquentormforsimprifiedDatabaseInteractions.2)frontend:cleanhtmlandEgratevue.jsfordynamicspasのレバレッジブラデテンプレーズ、エンサイリングレスレスレスフロレンテンドバッキンティントのためにレバレッジブラデテットを使用します

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール