Laravel은 실용적이고 사용하기 쉬운 많은 기능을 제공하는 매우 인기 있는 PHP 프레임워크입니다. 그 중 하나는 사용자가 웹사이트에 등록하고 로그인할 수 있도록 하는 인증 시스템입니다. 이번 글에서는 Laravel 로그인 시스템을 모바일 로그인으로 변경하는 방법에 대해 설명하겠습니다.
코딩을 시작하기 전에 Laravel이 설치 및 구성되어 있는지 확인하세요. 그렇지 않은 경우 공식 Laravel 문서에서 자세한 지침을 찾을 수 있습니다.
첫 번째 단계는 사용자의 휴대폰 번호와 비밀번호를 저장할 새 데이터베이스 테이블을 만드는 것입니다. Laravel 마이그레이션을 사용하여 이를 수행할 수 있습니다. 터미널 창을 열고 다음 명령을 입력하세요:
php artisan make:migration create_phone_auth_table
php artisan make:migration create_phone_auth_table
这将创建一个新的迁移文件,您可以在其中定义新的数据库表。在Laravel中创建一个数据表的方法如下所示:
public function up() { Schema::create('phone_auth', function (Blueprint $table) { $table->increments('id'); $table->string('phone_number')->unique(); $table->string('password'); $table->timestamps(); }); }
在此示例中,我们创建一个名为"phone_auth"的新表,其中包含"id"、"phone_number"、"password"以及"timestamps"列。请注意,我们将"phone_number"列定义为唯一的,以确保不会有重复的手机号码。
接下来,我们需要创建一个新的控制器来处理手机登录。打开终端窗口并输入以下命令:
php artisan make:controller PhoneLoginController
public function showLoginForm() { return view('auth.phone-login'); } public function login(Request $request) { $this->validate($request, [ 'phone_number' => 'required', 'password' => 'required', ]); $phone_number = $request->input('phone_number'); $password = $request->input('password'); if (Auth::attempt(['phone_number' => $phone_number, 'password' => $password])) { return redirect()->intended('/'); } return redirect()->back()->withInput()->withErrors(['message' => 'Phone number or password is incorrect.']); }이 예에서는 "id", "phone_number", "password" 및 "timestamps" 목록을 포함하는 "phone_auth"라는 새 테이블을 생성합니다. 중복된 전화번호가 없도록 "phone_number" 열을 고유하게 정의합니다. 다음으로 모바일 로그인을 처리할 새 컨트롤러를 만들어야 합니다. 터미널 창을 열고 다음 명령을 입력하세요:
php artisan make:controller PhoneLoginController
그런 다음 "app/Http/Controllers/PhoneLoginController.php" 파일을 열고 다음 코드를 파일 끝 :
@extends('layouts.app') @section('content') <div class="container"> <div class="row justify-content-center"> <div class="col-md-8"> <div class="card"> <div class="card-header">{{ __('Phone Login') }}</div> <div class="card-body"> <form method="POST" action="{{ route('phone.login') }}"> @csrf <div class="form-group row"> <label for="phone_number" class="col-md-4 col-form-label text-md-right">{{ __('Phone Number') }}</label> <div class="col-md-6"> <input id="phone_number" type="text" class="form-control{{ $errors->has('phone_number') ? ' is-invalid' : '' }}" name="phone_number" value="{{ old('phone_number') }}" required autofocus> @if ($errors->has('phone_number')) <span class="invalid-feedback" role="alert"> <strong>{{ $errors->first('phone_number') }}</strong> </span> @endif </div> </div> <div class="form-group row"> <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label> <div class="col-md-6"> <input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required> @if ($errors->has('password')) <span class="invalid-feedback" role="alert"> <strong>{{ $errors->first('password') }}</strong> </span> @endif </div> </div> <div class="form-group row mb-0"> <div class="col-md-6 offset-md-4"> <button type="submit" class="btn btn-primary"> {{ __('Login') }} </button> </div> </div> </form> </div> </div> </div> </div> </div> @endsection이 코드에서는 "showLoginForm"과 "login"이라는 두 가지 메서드를 정의합니다. "showLoginForm"은 사용자가 휴대폰 번호와 비밀번호를 입력할 수 있는 제출 버튼과 두 개의 텍스트 상자가 있는 양식이 포함된 뷰를 반환합니다. "login" 메소드는 사용자의 입력 데이터를 검증하고 Auth 클래스를 사용하여 사용자 로그인을 시도합니다. 로그인에 성공하면 사용자는 홈 페이지로 리디렉션됩니다. 그렇지 않으면 사용자에게 오류 메시지가 표시됩니다. 이제 새로운 보기 파일 "auth.phone-login"을 생성해야 합니다. "Laravel/resources/views/auth" 폴더에 새 파일을 만들고 이름을 "phone-login.blade.php"로 지정합니다. 블레이드 엔진은 Laravel에서 뷰를 렌더링하고 강력한 템플릿 기능을 제공하는 데 사용됩니다. 이 파일에 다음 HTML 및 양식 코드를 추가하세요.
Route::get('phone-login', 'PhoneLoginController@showLoginForm'); Route::post('phone-login', 'PhoneLoginController@login')->name('phone.login');이 보기에는 두 개의 텍스트 상자가 있는 양식과 사용자가 휴대폰 번호와 비밀번호를 입력할 수 있는 제출 버튼이 포함되어 있습니다. 양식 태그의 "route" 지시어를 사용하여(Route 지시어는 URL 및 HTML 양식 입력 자동 생성을 포함한 몇 가지 편리한 기능을 제공) 양식의 제출 주소를 "phone.login" 경로로 지정합니다. 🎜🎜이제 마지막 단계는 "웹" 경로 파일에 새 경로를 추가하는 것입니다. Routes/web.php 파일을 열고 파일 끝에 다음 코드를 추가하십시오: 🎜rrreee🎜 이렇게 하면 "phone-login" 및 "phone-login" POST 경로라는 두 개의 새로운 경로가 추가됩니다. 첫 번째 경로는 사용자가 휴대폰 번호와 비밀번호를 입력할 수 있는 양식을 렌더링하는 데 사용됩니다. 두 번째 경로는 양식 제출을 처리하고 사용자 입력 데이터의 유효성을 검사합니다. 🎜🎜축하합니다. 이제 Laravel 로그인 시스템을 모바일 로그인으로 성공적으로 변경했습니다. 이는 필요에 따라 변경하고 확장할 수 있는 간단한 구현일 뿐입니다. 더 나은 사용자 경험을 제공하기 위해 이메일, 인증 코드 등 더 많은 필드를 추가할 수 있습니다. 🎜
위 내용은 Laravel 로그인 시스템을 모바일 로그인으로 변경하는 방법에 대해 이야기하겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!