Laravel ist ein sehr beliebtes PHP-Framework, das viele praktische und benutzerfreundliche Funktionen bietet. Eines davon ist das Authentifizierungssystem, das es Benutzern ermöglicht, sich auf der Website zu registrieren und anzumelden. In diesem Artikel bespreche ich, wie man das Laravel-Anmeldesystem auf ein mobiles Login umstellt.
Bevor Sie mit dem Codieren beginnen, stellen Sie sicher, dass Laravel installiert und konfiguriert ist. Wenn nicht, finden Sie detaillierte Anleitungen in der offiziellen Laravel-Dokumentation.
Der erste Schritt besteht darin, eine neue Datenbanktabelle zu erstellen, um die Mobiltelefonnummer und das Passwort des Benutzers zu speichern. Sie können dies mithilfe von Laravel-Migrationen tun. Öffnen Sie ein Terminalfenster und geben Sie den folgenden Befehl ein:
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.']); }
php artisan make:controller PhoneLoginController
Öffnen Sie dann „app/Http/Controllers/PhoneLoginController .php“-Datei und fügen Sie am Ende der Datei den folgenden Code hinzu:
@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
Route::get('phone-login', 'PhoneLoginController@showLoginForm'); Route::post('phone-login', 'PhoneLoginController@login')->name('phone.login');
Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie Sie das Laravel-Anmeldesystem auf mobile Anmeldung umstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!