찾다
PHP 프레임워크Laravellaravel은 등록과 로그인을 구현합니다.

Laravel은 우아한 구문, 강력한 기능 및 풍부한 문서를 갖춘 일반적으로 사용되는 PHP 프레임워크로 많은 PHP 개발자가 선택하는 프레임워크가 되었습니다. 이 글에서는 Laravel 프레임워크를 사용하여 등록 및 로그인 기능을 구현하는 방법을 소개합니다.

1. Laravel 애플리케이션 만들기
등록 및 로그인 기능을 구현하기 전에 먼저 Laravel 애플리케이션을 만들어야 합니다. Laravel에서 공식적으로 제공하는 Composer 명령을 사용하여 아래와 같이 새로운 애플리케이션을 생성할 수 있습니다:

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

여기서 your-project-name은 생성하려는 애플리케이션의 이름입니다. your-project-name是你想要创建的应用程序的名称。

创建完成后,进入应用程序目录并启动本地服务器:

cd your-project-name
php artisan serve

在浏览器中输入http://localhost:8000,即可访问应用程序的欢迎页面。

二、创建认证系统
在实现注册和登录功能之前,需要先创建一个基本的认证系统。Laravel提供了make:auth Artisan命令,可以快速生成认证相关的视图和控制器。

php artisan make:auth

执行上述命令后,Laravel会自动创建registerloginlogout等相关的视图和控制器,并将它们添加到应用程序中。此外,Laravel还会在数据库中创建相关的用户和密码重置表。

三、创建数据库表
默认情况下,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();
    });
}

上述迁移文件定义了users数据表的字段,包括name(用户名)、email(电子邮件地址)、password(密码)等等。

在修改完迁移文件之后,需要执行以下Artisan命令,来实际创建users数据表:

php artisan migrate

四、创建注册页面
接下来,需要创建一个注册页面,让用户可以输入自己的用户名、电子邮件地址和密码。打开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>

五、处理注册请求
现在,注册表单已经创建,但是当用户提交表单时并不会生效。所以我们需要修改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模型来创建一个新用户,并对密码进行加密。最后,重定向到应用程序的仪表板页面。

六、创建登录页面
接下来,需要创建一个登录页面,让用户可以输入自己的已注册电子邮件地址和密码。打开resources/views/auth/login.blade.php文件,可以看到Laravel已经为我们创建了一个基本的登录表单。

七、处理登录请求
注册表单已经创建,但是当用户提交表单时并不会生效。所以我们需要修改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()方法将用户重定向回原始登录页面,并显示错误消息。

八、设置认证中间件
一旦注册和登录功能已经实现,需要保护应用程序的某些路由,只有已认证的用户才能访问。在Laravel中,可以使用中间件来实现此目的。Laravel提供了一个名为auth的中间件,它会验证用户是否已经登录到应用程序。

Laravel默认情况下将auth中间件应用于任何使用auth路由名称的路由。可以使用以下代码来指定一个或多个中间件:

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

现在,只有已认证的用户才能访问/dashboard

생성 후 애플리케이션 디렉토리를 입력하고 로컬 서버를 시작하세요.

rrreee
브라우저에 http://localhost:8000를 입력하여 애플리케이션의 시작 페이지에 액세스하세요.

🎜2. 인증 시스템 만들기🎜 등록 및 로그인 기능을 구현하기 전에 기본 인증 시스템을 만들어야 합니다. Laravel은 인증 관련 뷰와 컨트롤러를 빠르게 생성하기 위해 make:auth Artisan 명령을 제공합니다. 🎜rrreee🎜위 명령을 실행하면 Laravel은 자동으로 register, loginlogout과 같은 관련 뷰와 컨트롤러를 생성하고 이를 응용 프로그램. 또한 Laravel은 데이터베이스에 관련 사용자 및 비밀번호 재설정 테이블을 생성합니다. 🎜🎜3. 데이터베이스 테이블 생성🎜 기본적으로 Laravel은 MySQL 데이터베이스를 사용합니다. 이 예에서는 사용자 데이터를 저장하기 위해 users라는 데이터 테이블을 생성해야 합니다. 테이블은 다음 Artisan 명령어를 사용하여 생성할 수 있습니다: 🎜rrreee🎜위 명령어를 실행한 후 Laravel은 애플리케이션의 database/migrations 디렉터리 문서에 create_users_table이라는 이름의 마이그레이션을 생성합니다. 파일을 열고 다음과 같이 up 메서드를 수정합니다. 🎜rrreee🎜위 마이그레이션 파일은 name을 포함하여 users 데이터 테이블의 필드를 정의합니다. ( 사용자 이름), email(이메일 주소), password(비밀번호) 등 🎜🎜마이그레이션 파일을 수정한 후 실제로 users 데이터 테이블을 생성하려면 다음 Artisan 명령을 실행해야 합니다. 🎜rrreee🎜넷째, 등록 페이지 생성🎜다음으로 등록 페이지를 생성해야 합니다. 사용자가 사용자 이름, 이메일 주소 및 비밀번호를 입력할 수 있도록 합니다. resources/views/auth/register.blade.php 파일을 열면 Laravel이 기본 등록 양식을 생성한 것을 볼 수 있습니다. 🎜🎜이때 일부 필드를 삭제하고 반드시 입력해야 하는 이름 필드와 비밀번호 확인 password_confirmation 필드를 추가해야 합니다. 수정된 코드는 다음과 같습니다. 🎜rrreee🎜 5. 등록 요청 처리🎜 이제 등록 양식이 생성되었지만 사용자가 양식을 제출해도 적용되지 않습니다. 따라서 등록 요청을 처리하려면 app/Http/Controllers/Auth/RegisterController.php 파일을 수정해야 합니다. 🎜rrreee🎜위 코드는 등록 요청을 처리하는 데 사용되는 store()라는 메서드를 정의합니다. 먼저 validate() 메서드는 요청된 데이터의 유효성을 검사합니다. 확인이 통과되면 User 모델을 사용하여 새 사용자를 생성하고 비밀번호를 암호화합니다. 마지막으로 애플리케이션의 대시보드 페이지로 리디렉션됩니다. 🎜🎜 6. 로그인 페이지 만들기 🎜 다음으로, 사용자가 등록된 이메일 주소와 비밀번호를 입력할 수 있는 로그인 페이지를 만들어야 합니다. resources/views/auth/login.blade.php 파일을 열면 Laravel이 기본 로그인 양식을 생성한 것을 볼 수 있습니다. 🎜🎜7. 로그인 요청 처리🎜등록 양식이 생성되었지만 사용자가 양식을 제출해도 적용되지 않습니다. 따라서 로그인 요청을 처리하려면 app/Http/Controllers/Auth/LoginController.php 파일을 수정해야 합니다. 🎜rrreee🎜위 코드는 로그인 요청을 처리하는 데 사용되는 store()라는 메서드를 정의합니다. 먼저 attempt() 메서드는 사용자가 제공한 자격 증명을 사용하여 인증을 시도합니다. 확인이 성공하면 새 세션이 생성되고 사용자는 애플리케이션의 대시보드 페이지로 리디렉션됩니다. 이것이 실패하면 back() 메서드를 사용하여 오류 메시지와 함께 사용자를 원래 로그인 페이지로 다시 리디렉션합니다. 🎜🎜 8. 인증 미들웨어 설정 🎜 등록 및 로그인 기능이 구현되면 인증된 사용자만 액세스할 수 있도록 애플리케이션의 특정 경로를 보호해야 합니다. Laravel에서는 이를 달성하기 위해 미들웨어를 사용할 수 있습니다. Laravel은 사용자가 애플리케이션에 로그인했는지 확인하는 auth라는 미들웨어를 제공합니다. 🎜🎜Laravel은 기본적으로 auth 경로 이름을 사용하는 모든 경로에 auth 미들웨어를 적용합니다. 다음 코드를 사용하여 하나 이상의 미들웨어를 지정할 수 있습니다. 🎜rrreee🎜 이제 인증된 사용자만 /dashboard 경로에 액세스할 수 있습니다. 🎜🎜요약🎜이 글에서는 Laravel 프레임워크를 사용하여 등록 및 로그인 기능을 구현하는 방법을 소개합니다. Laravel 프레임워크의 도움으로 안전하고 안정적인 웹 애플리케이션을 빠르고 쉽게 구축하고 웹 애플리케이션 개발 프로세스를 촉진할 수 있습니다. 초보자이든 숙련된 개발자이든 Laravel 프레임워크를 사용하여 자신만의 웹 애플리케이션을 구축해 볼 수 있습니다. 🎜

위 내용은 laravel은 등록과 로그인을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
줌 전화 : 분산 팀 연결을위한 창의적인 전략줌 전화 : 분산 팀 연결을위한 창의적인 전략Apr 26, 2025 am 12:24 AM

TOENHANCENGENTANDANDCOHESIONAMNGDERBITEDTEAMSBEYONDZUMSBEYONDZUMS, INCOUBTHESTROSTIONS : 1) ORGARIZEVIRTUDCOFFEEBREAKSFORINFORMALCHATS, 2) USEASYNCHRONOUSTOOLSLIKESLACKFORNON-WORKDISCUSSIONS, 3) 장려하는 것과 4) 장려합니다

최신 Laravel 버전의 파괴 변경은 무엇입니까?최신 Laravel 버전의 파괴 변경은 무엇입니까?Apr 26, 2025 am 12:23 AM

LARAVEL10INTRODICESERALBREAKINGCHANGES : 1) ITREQUIRESPHP8.1ORHIGHER, 2) THEROUTERSERVICEPROVIDERNOWUSESABOTETMEDODFORLOWDROUTES, 3) THETIMESTAMPS () MethodOneTelationshipsisDepRecated, 및 4) hethequestclassio

생산성 역설 : 원격 설정에서 초점과 동기 유지생산성 역설 : 원격 설정에서 초점과 동기 유지Apr 26, 2025 am 12:17 AM

TomaintaintFocusAndMotivationINREMOTWork, CreateAtsucturedEnvironment, ManageDigitalDistractions, FosterMotivationShroughsocialintercations 및 Gamestwork-LifeBalance, AndUseAppropriateTechnology.1) 확립 된 Workspaceand-ScittoAroutine.

멀리서 신뢰 구축 : 분산 환경에서의 협업 장려멀리서 신뢰 구축 : 분산 환경에서의 협업 장려Apr 26, 2025 am 12:13 AM

TofosterCollaborationandTrustinRemoTeTeams, 구현 전략 : 1) 개인 체크인을 통해 정규화, 구조적 커뮤니케이션, 2) USECOLLABORATIVETOOLSFORTRANSPARENCY, 3) 인식 대상 문화적 관세 좌절성.

최신 Laravel 버전의 주요 기능은 무엇입니까?최신 Laravel 버전의 주요 기능은 무엇입니까?Apr 26, 2025 am 12:01 AM

Laravel의 최신 버전의 주요 기능에는 다음이 포함됩니다. 1. Laraveloctane은 응용 프로그램 성능을 향상시킵니다. 이러한 기능은 개발 효율성과 응용 프로그램 성능을 크게 향상시킬 수 있지만 잠재적 인 문제를 피하기 위해주의해서 사용해야합니다.

포용의 환상 : 원격 작업의 고립과 외로움 해결포용의 환상 : 원격 작업의 고립과 외로움 해결Apr 25, 2025 am 12:28 AM

TocombatisolationandloneLinessInremotwork, componiesshouldimplementregular, meignmentfortuncations, andusetechnologyeftically

풀 스택 개발을위한 Laravel : 포괄적 인 가이드풀 스택 개발을위한 Laravel : 포괄적 인 가이드Apr 25, 2025 am 12:27 AM

laravelispopularforfull-stackdevelopmentBecauseItOffersAMESAMLESSEAMLESTBBOCKENDPOWERANDFRONDENDFLECTION.1) itsBackEndCapabilities, likeeloquentorm, simplifydatabaseintercations.2) theBladetemplatingEngineallowsforclean, dynamichtmltemplates.3) larvelmix

화상 회의 대결 : 원격 회의에 적합한 플랫폼 선택화상 회의 대결 : 원격 회의에 적합한 플랫폼 선택Apr 25, 2025 am 12:26 AM

화상 회의 플랫폼을 선택할 때의 주요 요소에는 사용자 인터페이스, 보안 및 기능이 포함됩니다. 1) 사용자 인터페이스는 줌과 같은 직관적이어야합니다. 2) 보안에주의를 기울여야하며 Microsoft Teams는 엔드 투 엔드 암호화를 제공합니다. 3) 기능은 요구 사항을 일치시키기 위해 필요하며 Googlemeet은 짧은 회의에 적합하며 Ciscowebex는 고급 협업 도구를 제공합니다.

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 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기