Laravel ialah rangka kerja web sumber terbuka berdasarkan bahasa PHP dan digunakan oleh semakin ramai pembangun. Rangka kerja Laravel mempunyai banyak fungsi terbina dalam yang berguna, seperti pandangan, penghalaan, operasi pangkalan data, dsb., dan juga menyokong pengembangan. Artikel ini akan memperkenalkan cara menggunakan Laravel 5 untuk melaksanakan fungsi pendaftaran log masuk.
Mula-mula anda perlu memasang Laravel dalam sistem anda. Untuk kaedah pemasangan, anda boleh merujuk kepada dokumentasi rasmi Laravel atau cari sendiri.
Fungsi log masuk dan pendaftaran memerlukan penggunaan pangkalan data untuk menyimpan maklumat pengguna. Sebelum melakukan ini, anda perlu mencipta pangkalan data bernama "laravel_login". Anda boleh memasukkan arahan berikut pada baris arahan:
mysql -u username -p CREATE DATABASE laravel_login;
di mana "nama pengguna" ialah nama pengguna MySQL anda. Ini akan mencipta pangkalan data kosong bernama "laravel_login".
Dalam Laravel 5, cipta dan urus jadual pangkalan data melalui migrasi. Mula-mula anda perlu menjana fail migrasi. Masukkan dalam baris arahan:
php artisan make:migration create_users_table
Perintah ini akan menjana fail migrasi, yang akan disimpan dalam folder "databasemigrations" secara lalai.
Edit fail migrasi ini dan tentukan medan jadual pengguna dalam kaedah "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(); }); }
Kemudian masukkan arahan berikut untuk menjalankan migrasi ini dan jana jadual pengguna :
php artisan migrate
Seterusnya buat pengawal dan pandangan untuk memaparkan halaman pendaftaran dan log masuk serta memproses maklumat yang dimasukkan oleh pengguna. Masukkan dalam baris arahan:
php artisan make:controller AuthController
Perintah ini akan mencipta pengawal bernama "AuthController", yang akan disimpan dalam folder "appHttpControllers" secara lalai.
Kod pengawal adalah seperti berikut:
<?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) { // 注销逻辑 } }
Kemudian anda perlu mencipta templat paparan untuk memaparkan borang. Cipta fail bernama "login.blade.php" dan "register.blade.php" dalam folder "resourcesviewsauth", yang merupakan templat halaman log masuk dan pendaftaran masing-masing.
Kod templat adalah seperti berikut:
Templat log masuk:
@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
Templat pendaftaran:
@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
Langkah terakhir ialah menyediakan penghalaan supaya Laravel boleh memanggil pengawal dan pandangan dengan betul. Tambahkan kod berikut pada fail "routesweb.php":
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');
Kini anda boleh melawati alamat berikut untuk melihat halaman pendaftaran dan log masuk:
http://yourdomain.com/register http://yourdomain.com/login
dan alamat berikut untuk melengkapkan operasi log masuk Dan log keluar:
http://yourdomain.com/login http://yourdomain.com/logout
Melalui tutorial ini, anda telah mempelajari cara melaksanakan fungsi log masuk dan pendaftaran dalam Laravel 5. Sudah tentu, ini hanyalah pelaksanaan yang paling asas. Dari segi operasi, keselamatan dan sebagainya, masih banyak perkara yang perlu diberi perhatian, yang perlu dipelajari dan diperbaiki secara berterusan dalam pembangunan sebenar.
Atas ialah kandungan terperinci Cara menggunakan Laravel 5 untuk melaksanakan fungsi pendaftaran log masuk. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!