Heim > Artikel > PHP-Framework > So implementieren Sie die Anmelderegistrierungsfunktion mit Laravel 5
Laravel ist ein Open-Source-Webframework, das auf der PHP-Sprache basiert und von immer mehr Entwicklern verwendet wird. Das Laravel-Framework verfügt über viele nützliche integrierte Funktionen wie Ansichten, Routing, Datenbankoperationen usw. und unterstützt auch die Erweiterung. In diesem Artikel wird erläutert, wie Sie mit Laravel 5 die Anmelde- und Registrierungsfunktion implementieren.
Zuerst müssen Sie Laravel in Ihrem System installieren. Informationen zu Installationsmethoden finden Sie in der offiziellen Dokumentation von Laravel oder Sie können selbst suchen.
Die Anmelde- und Registrierungsfunktion erfordert die Verwendung einer Datenbank zum Speichern von Benutzerinformationen. Zuvor müssen Sie eine Datenbank mit dem Namen „laravel_login“ erstellen. Sie können den folgenden Befehl in der Befehlszeile eingeben:
mysql -u username -p CREATE DATABASE laravel_login;
wobei „Benutzername“ Ihr MySQL-Benutzername ist. Dadurch wird eine leere Datenbank mit dem Namen „laravel_login“ erstellt.
Erstellen und verwalten Sie in Laravel 5 Datenbanktabellen durch Migrationen. Zuerst müssen Sie eine Migrationsdatei generieren. Geben Sie:
php artisan make:migration create_users_table
in die Befehlszeile ein. Dieser Befehl generiert eine Migrationsdatei, die standardmäßig im Ordner „databasemigrations“ gespeichert wird.
Bearbeiten Sie diese Migrationsdatei und definieren Sie die Felder der Benutzertabelle in der Methode „up()“:
public function up() { Schema::create('users', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->string('email')->unique(); $table->string('password'); $table->rememberToken(); $table->timestamps(); }); }
Dann geben Sie den folgenden Befehl ein, um diese Migration auszuführen und die Benutzertabelle zu generieren:
php artisan migrate
Connect Als nächstes erstellen Sie den Controller und die Ansicht, um die Registrierungs- und Anmeldeseiten anzuzeigen und die vom Benutzer eingegebenen Informationen zu verarbeiten. Geben Sie in der Befehlszeile Folgendes ein:
php artisan make:controller AuthController
Dieser Befehl erstellt einen Controller mit dem Namen „AuthController“, der standardmäßig im Ordner „appHttpControllers“ gespeichert wird.
Der Controller-Code lautet wie folgt:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class AuthController extends Controller { public function showLoginForm() { return view('auth.login'); } public function login(Request $request) { // 登陆逻辑 } public function showRegistrationForm() { return view('auth.register'); } public function register(Request $request) { // 注册逻辑 } public function logout(Request $request) { // 注销逻辑 } }
Dann müssen Sie eine Ansichtsvorlage zum Rendern des Formulars erstellen. Erstellen Sie im Ordner „resourcesviewsauth“ Dateien mit den Namen „login.blade.php“ und „register.blade.php“, bei denen es sich jeweils um Anmelde- und Registrierungsseitenvorlagen handelt.
Der Vorlagencode lautet wie folgt:
Anmeldevorlage:
@extends('layouts.app') @section('content') <div class="container"> <div class="row"> <div class="col-md-8 col-md-offset-2"> <div class="panel panel-default"> <div class="panel-heading">Login</div> <div class="panel-body"> <form class="form-horizontal" method="POST" action="{{ route('login') }}"> {{ csrf_field() }} <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}"> <label for="email" class="col-md-4 control-label">E-Mail Address</label> <div class="col-md-6"> <input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}" required autofocus> @if ($errors->has('email')) <span class="help-block"> <strong>{{ $errors->first('email') }}</strong> </span> @endif </div> </div> <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}"> <label for="password" class="col-md-4 control-label">Password</label> <div class="col-md-6"> <input id="password" type="password" class="form-control" name="password" required> @if ($errors->has('password')) <span class="help-block"> <strong>{{ $errors->first('password') }}</strong> </span> @endif </div> </div> <div class="form-group"> <div class="col-md-6 col-md-offset-4"> <div class="checkbox"> <label> <input type="checkbox" name="remember" {{ old('remember') ? 'checked' : '' }}> Remember Me </label> </div> </div> </div> <div class="form-group"> <div class="col-md-8 col-md-offset-4"> <button type="submit" class="btn btn-primary"> Login </button> <a class="btn btn-link" href="{{ route('password.request') }}"> Forgot Your Password? </a> </div> </div> </form> </div> </div> </div> </div> </div> @endsection
Registrierungsvorlage:
@extends('layouts.app') @section('content') <div class="container"> <div class="row"> <div class="col-md-8 col-md-offset-2"> <div class="panel panel-default"> <div class="panel-heading">Register</div> <div class="panel-body"> <form class="form-horizontal" method="POST" action="{{ route('register') }}"> {{ csrf_field() }} <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}"> <label for="name" class="col-md-4 control-label">Name</label> <div class="col-md-6"> <input id="name" type="text" class="form-control" name="name" value="{{ old('name') }}" required autofocus> @if ($errors->has('name')) <span class="help-block"> <strong>{{ $errors->first('name') }}</strong> </span> @endif </div> </div> <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}"> <label for="email" class="col-md-4 control-label">E-Mail Address</label> <div class="col-md-6"> <input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}" required> @if ($errors->has('email')) <span class="help-block"> <strong>{{ $errors->first('email') }}</strong> </span> @endif </div> </div> <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}"> <label for="password" class="col-md-4 control-label">Password</label> <div class="col-md-6"> <input id="password" type="password" class="form-control" name="password" required> @if ($errors->has('password')) <span class="help-block"> <strong>{{ $errors->first('password') }}</strong> </span> @endif </div> </div> <div class="form-group"> <label for="password-confirm" class="col-md-4 control-label">Confirm Password</label> <div class="col-md-6"> <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required> </div> </div> <div class="form-group"> <div class="col-md-6 col-md-offset-4"> <button type="submit" class="btn btn-primary"> Register </button> </div> </div> </form> </div> </div> </div> </div> </div> @endsection
Der letzte Schritt besteht darin, das Routing so einzurichten, dass Laravel Controller und Ansichten korrekt aufrufen kann. Fügen Sie den folgenden Code zur Datei „routesweb.php“ hinzu:
Route::get('login', 'AuthController@showLoginForm')->name('login'); Route::post('login', 'AuthController@login'); Route::get('register', 'AuthController@showRegistrationForm')->name('register'); Route::post('register', 'AuthController@register'); Route::post('logout', 'AuthController@logout')->name('logout');
Jetzt können Sie die folgende Adresse besuchen, um die Registrierungs- und Anmeldeseiten anzuzeigen:
http://yourdomain.com/register http://yourdomain.com/login
und die folgende Adresse, um die Anmelde- und Abmeldevorgänge abzuschließen:
http://yourdomain.com/login http://yourdomain.com/logout
Durch dieses Tutorial haben Sie gelernt, wie Sie die Anmelde- und Registrierungsfunktion in Laravel 5 implementieren. Dies ist natürlich nur die grundlegendste Implementierung. In Bezug auf Betrieb, Sicherheit usw. gibt es noch viele Dinge zu beachten, die in der tatsächlichen Entwicklung kontinuierlich gelernt und verbessert werden müssen.
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Anmelderegistrierungsfunktion mit Laravel 5. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!