Laravel est un framework web open source basé sur le langage PHP et est utilisé par de plus en plus de développeurs. Le framework Laravel possède de nombreuses fonctions intégrées utiles, telles que les vues, le routage, les opérations de base de données, etc., et prend également en charge l'expansion. Cet article expliquera comment utiliser Laravel 5 pour implémenter la fonction de connexion et d'enregistrement.
Vous devez d'abord installer Laravel sur votre système. Pour les méthodes d'installation, vous pouvez vous référer à la documentation officielle de Laravel ou effectuer une recherche par vous-même.
La fonction de connexion et d'enregistrement nécessite l'utilisation d'une base de données pour stocker les informations de l'utilisateur. Avant de faire cela, vous devez créer une base de données nommée "laravel_login". Vous pouvez saisir la commande suivante sur la ligne de commande :
mysql -u username -p CREATE DATABASE laravel_login;
où "nom d'utilisateur" est votre nom d'utilisateur MySQL. Cela créera une base de données vide nommée "laravel_login".
Dans Laravel 5, créez et gérez des tables de base de données via des migrations. Vous devez d'abord générer un fichier de migration. Entrez :
php artisan make:migration create_users_table
dans la ligne de commande. Cette commande générera un fichier de migration, qui sera enregistré par défaut dans le dossier "databasemigrations".
Editez ce fichier de migration et définissez les champs de la table user dans la méthode "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(); }); }
Entrez ensuite la commande suivante pour lancer cette migration et générer la table user :
php artisan migrate
Connexion Créez ensuite le contrôleur et la vue pour afficher les pages d'inscription et de connexion et traiter les informations saisies par l'utilisateur. Entrez :
php artisan make:controller AuthController
sur la ligne de commande. Cette commande créera un contrôleur nommé "AuthController", qui sera enregistré par défaut dans le dossier "appHttpControllers".
Le code du contrôleur est le suivant :
<?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) { // 注销逻辑 } }
Ensuite, vous devez créer un modèle de vue pour le rendu du formulaire. Créez des fichiers nommés "login.blade.php" et "register.blade.php" dans le dossier "resourcesviewsauth", qui sont respectivement des modèles de page de connexion et d'enregistrement.
Le code du modèle est le suivant :
Modèle de connexion :
@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
Modèle d'enregistrement :
@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
La dernière étape consiste à configurer le routage afin que Laravel puisse appeler correctement les contrôleurs et les vues. Ajoutez le code suivant au fichier "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');
Vous pouvez maintenant visiter l'adresse suivante pour visualiser les pages d'inscription et de connexion:
http://yourdomain.com/register http://yourdomain.com/login
et l'adresse suivante pour terminer les opérations de connexion et de déconnexion:
http://yourdomain.com/login http://yourdomain.com/logout
Grâce à ce tutoriel, vous avez appris comment implémenter la fonction de connexion et d'enregistrement dans Laravel 5. Bien entendu, il ne s’agit là que de l’implémentation la plus élémentaire. En termes de fonctionnement, de sécurité, etc., il reste encore beaucoup de choses auxquelles il faut prêter attention, qui doivent être continuellement apprises et améliorées dans le cadre du développement réel.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!