الجزء الثاني Laravel Authentification

imadbelasri Laravel
LA

فهاد الجزء الثاني غادي نكملو الصفحة الرئيسية ديالنا ومنبعد نقادو الصفحة لي تمكن المستخدم من التسجيل فقاعدة البيانات والصفحة لي تمكنو من تسجيل الدخول ديالو باستعمال الإمايل وكلمة السر دسالو.


نظرة سريعة بالفيديو


- تكملة الصفحة الرئيسية

من بعد ما قادينا ل header و footer غادي نقادو الصفحة الرئيسية لي كاينة ف resources->views index.blade.php فالأول غادي نزيدو الملف لي كاين ف layouts->index-master.php من بعد كل جزء بوحدو title ثم styles ثم header ثم content ثم footer ثم scripts الكود النهائي غادي يكون :

                                                    
                                                        @extends('layouts.index-master')
 
@section('title')
    Laravel Authentification
@endsection
 
@section('styles')
     
@endsection
 
@section('header')
   @include('includes.header')
@endsection
 
@section('content')
      <h1>Page principale</h1>
      @if(Auth::check())
        <p class="lead">Bienveue <span class="label label-success">{{Auth::user()->name}}</span> vous êtes connectés</p>
      @endif
@endsection
 
@section('footer')
 
@endsection
 
@section('scripts')
   @include('includes.footer')
@endsection
                                                    
                                                

-إنشاء صفحة إضافة المستخدم

هاد الصفحة غادي تمكن المستخدم من التسجيل فقاعدة البيانات وبالتالي التوفر على حساب يمكنو من الدخول أول حاجة غادي نخلقو ف resources/views مجلد جديد نسميوه users من بعد غادي نزيدو فيه ملف سميتو create.blade.php و ملف آخر نسميوه login.blade.php الكود ديالهم غادي يكون :

                                                        
                                                            <?php
//create.blade.php
@extends('layouts.index-master')
 
@section('title')
    Inscription
@endsection
@section('styles')
 
@endsection
 
@section('header')
    @include('includes.header')
@endsection
 
@section('content')
     <div class="container">
        <div class="row">
            <div class="col-md-6 col-md-offset-2">
                <h3>Créer un compte</h3>
                @include('includes.info-box')
                <form method="post" action="{{route('users.store')}}">
                    <div class="form-group">
                        <label for="nom">Nom & Prénom</label>
                        <input type="text" name="name" class="form-control" placeholder="Nom & Prénom">
                    </div>
                    <div class="form-group">
                        <label for="email">Email</label>
                        <input type="email" name="email" class="form-control" placeholder="Email">
                    </div>
                     <div class="form-group">
                        <label for="password">Mot de passe</label>
                        <input type="password" name="password" class="form-control" placeholder="Mot de Passe">
                        <input type="hidden" name="_token" value="{{Session::token()}}">
                     </div>
                    <div class="form-group">
                         <button type="submit" class="btn btn-success">Créer</button>
                    </div>
                </form>
            </div>
        </div>
     </div>
@endsection
 
@section('footer')
  @include('includes.footer')
@endsection
 
@section('scripts')
 
@endsection
//login.blade.php
@extends('layouts.index-master')

@section('title')
    Connexion
@endsection
@section('styles')

@endsection
@section('header')
  @include('includes.header')
@endsection
@section('content')
<div class="row">
    <div class="col-md-6 col-md-offset-3">
        <h3>Connexion</h3>
        @include('includes.info-box')
        <form action="{{route('users.auth')}}" method="post">
            <div class="form-group">
                <label for="email">Email</label>
                <input type="email" placeholder="E-mail" class="form-control"  id="email" name="email">
                <input type="hidden" name="_token" value="{{Session::token()}}">
            </div>
            <div class="form-group">
                <label for="password">Mot de passe</label>
                <input type="password" placeholder="Mot de passe" class="form-control" id="password" name="password">
            </div>
            <div class="form-group">
                <button type="submit" class="btn btn-success">Connexion</button>
            </div>
        </form>
    </div>
</div>

@endsection
@section('footer')

@endsection
@section('scripts')

@endsection
                                                        
                                                    

-كود التسجيل

أول حاجة غادي تمشي ل cmd وتدير cd c:wamp/www/blog منبعد غادي تزيد controller ب إستعمال php artisan make:controller UsersController --resource غادي تمشي ل app/http/controllers غادي تلقى UsersController تزاد فيه مجموعة ديال ل functions فل create غادي نوجهو المستخدم للصفحة ديال التسجيل و ف store غادي يكون الكود لي كيسجل المستخدم

                                                        
                                                            <?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\User;
use App\Http\Requests;

class UsersController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //
       
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
        return view('users.create');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
        $this->validate($request,[
            'name' => 'required|max:100',
            'email' => 'required|email|unique:users|max:100',
            'password' => 'required|max:100'
        ]);
        $user = User::create(['name'=>$request->name,'email'=>$request->email,'password'=>bcrypt($request->password)]);
        return redirect()->route('users.create')->with(['success'=>'Compte crée avec succés']);
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
        
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
       
    }
}

                                                        
                                                    

-كود الدخول

باش يتمكن المستخدم من الدخول غادي نزيدوا 3 ديال ل functions ف ل UsersController الاولى نسميوها login والثانية auth الاولى غادي توجه المستخدم لصفحة تسجيل الدخول والثانية غادي تتحقق من الامايل وكلمة المرور وتمكن المستخدم من الدخول والثالثة logout غادي تمكن المستخدم من الخروج الكود غادي يكون كالآتي :

                                                        
                                                             public function login(){
        return view('users.login');
    }
    public function auth(Request $request){
        $this->validate($request,[
            'email' => 'required|email',
            'password' => 'required'
        ]);
        if(!Auth::attempt(['email'=>$request->email,'password'=>$request->password])){
            return redirect()->route('users.login')->with(['fail'=>'Email ou mot de passe est incorrect!']);
        }
        return redirect()->route('users.index');
    }
    public function logout(){
        Auth::logout();
        return redirect()->route('index');
    }
                                                        
                                                    

-آخر التعديلات

بقانا routes لي غادي يمكنونا من التحرك من صفحة لأخرى ببساطة غادي نمشيو ل routes.php ونزيد الكود ديال routes من بعد غادي نمشي ل includes/header.php غادي لقا routes سابقنا زدناهم فل Menu أخيرا غادي نزيدو ملف سميتو info-box.blade.php ف resources/views/includes لي غادي يمكنا من عرض الأخطاء المتعلقة بالحقول

                                                        
                                                            <?php
//routes.php code
Route::get('/',[
    'uses'=>'HomeController@index',
    'as'=>'home'
]);
Route::resource('/users','UsersController');
Route::get('/login',[
    'uses' => 'UsersController@login',
    'as' => 'users.login'
]);
Route::get('/logout',[
    'uses' => 'UsersController@logout',
    'as' => 'users.logout'
]);
Route::post('/login',[
    'uses' => 'UsersController@auth',
    'as' => 'users.auth'
]);
//info-box.blade.php
@if(Session::has('fail'))
    <div class="alert alert-danger">
        {{Session::get('fail')}}
    </div>
@endif
@if(Session::has('success'))
    <div class="alert alert-success">
        {{Session::get('success')}}
    </div>
@endif
@if(count($errors) > 0)
    @foreach($errors->all() as $error)
        <div class="alert alert-danger">{{$error}}</div>
    @endforeach
@endif
                                                        
                                                    

دروس ذات صلة

LA

الجزء الأول  Laravel Authentification

Laravel هي وحدة من بزاف ديال php frameworks لي كاينين فالوقت الحاضر تخلقت ف 2011 بالرغم من أنها جديد...


LA

الجزء الثاني Laravel Authentification

فهاد الجزء الثاني غادي نكملو الصفحة الرئيسية ديالنا ومنبعد نقادو الصفحة لي تمكن المستخدم من التسجيل...


LA

كيفاش نسجل نعدل ونمسح المعلومات من قاعدة البيانات

فهاد الدرس غادي نشوفو كيفاش يمكنا نسجلوا معلومات فقاعدة البيانات من نبعد نديروا عليها تعديلات وفالآخ...


LA

كيفاش نصاوب ألبوم صور بإستعمال Laravel الجزء الأول

فدرس اليوم غادي نشوفو كيفاش نديرو نصاوبو ألبوم صور بإستعمال Laravel غادي نزيدو صور فقاعدة البيانات م...


LA

كيفاش نصاوب ألبوم صور بإستعمال Laravel الجزء الثاني

فهاد الجزء الثاني غادي نشوفو كيفاش نزيدو الصور فقاعدة البيانات نعرضوها فالصفحة الرئيسية و نعطيو للمس...


LA

موقع تواصل إجتماعي بإستعمال laravel الجزء الأول

فهاد المشروع الجديد لي هو موقع تواصل إجتماعي بإستعمال laravel غادي نشوفو كيفاش نقادو موقع تواصل على...


LA

موقع تواصل إجتماعي بإستعمال laravel الجزء الثاني

فهاد الجزء الثاني من موقع تواصل إجتماعي بإستعمال laravel غادي نقادو الملفات لي كيمكنو المستخدم من...


LA

موقع تواصل إجتماعي بإستعمال laravel الجزء الثالت

فهاد الجزء الثالت من موقع تواصل إجتماعي بإستعمال laravel غادي نكملو الملفات الخاصة بإضافة وحدف أصد...


LA

موقع تواصل إجتماعي بإستعمال laravel الجزء الرابع

فهاد الجزء الرابع من موقع تواصل إجتماعي بإستعمال laravel غادي نكملو الملفات الخاصة بالبحث عن مستخدم...


LA

موقع تواصل إجتماعي بإستعمال laravel الجزء الخامس

فهاد الجزء الخامس من موقع تواصل إجتماعي بإستعمال laravel غادي نكملو الملفات لي بقاونا ولي غادي يمكنو...