Application de gestion d'un hôtel ب laravel 5.5 الجزء الخامس


فهاد الجزء الخامس من Application de gestion d'un hôtel ب laravel 5.5 نشوفو ل backend ديال الموقع ديالنا يعني الجهة الخاصة بالأدمن غادي نشوفو كيفاش يمكن نزيدو أدمن وكيفاش يمكن لهاد الأدمن يتكونيكطا ويديكونيكطا.

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

1- الملف Admin.php

 فالمجلد app كنزيد ملف كنسميه Admin.php ولي عبارة عن model فيه les champs لي غادي يمكنا نديرو عليهم التعديل والحدف الكود ديال الملف هو :

                                <?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class Admin extends Authenticatable
{
    //
    protected $fillable = ['name','email','password'];
}

                            

2- الملف AdminsController.php

كنمشي ل app/Http/Controllers كنزيد ملف جديد كنسميه AdminsController.php لي غادي تكون فيه fonction index لي كتسترجع les admins لي عندنا فقاعدة البيانات وكترسلهم للملف index ديال admins ولي غادي نزيدوه من بعد ثم كاين fonction create لي كتوجه الأدمن لملف التسجيل لي غادي نزيدوه من بعد ثم كاين fonction store لي كتحقق من أن الحقول مملوئين ثم كنسجل أدمن جديد فقاعدة البيانات وكنوجهو للصفحة الرئيسية ديال les admins مع رسالة نجاح ثم كاين fonction destroy لي كتمكن من حدف أدمن من بعد مكتلقاه بل id ديالو ثم كاين getLogin لي كتوجه الأدمن لملف تسجيل الدخول منبعد كاين login لي ملي كيدخل المعلومات ديالو كتحقق من أن الحقول لي ترسلو مملوئين منبعد كتدير محاولة دخول بالإمايل وكلمة المرور لي دخل الأدمن يلا تمت بنجاح كترجعو للصفحة الرئيسية من بعد كاين logout لي فقط كتمكن الأدمن باش يديكونيكطا الكود ديال الملف هو :

                                <?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Admin;
use Auth;
use Session;
class AdminsController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //
        return view('admins.index',['admins'=>Admin::all()]);
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
        return view('admins.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|min:6',
            'password' => 'required|min:6',
            'email' => 'required',

        ]); 
        $admin = new Admin();
        $admin->name = $request->name;
        $admin->password = bcrypt($request->password);
        $admin->email = $request->email;
        $admin->save();
        return redirect()->route('admins.index')->with(['success'=>'Compte crée avec succés']);
    }
    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
        $admin = Admin::findOrFail($id);
        $admin->delete();
        return redirect()->route('admins.index')->with(['success'=>'Admin Supprimé']);
    }
    public function getLogin(){
        return view('admins.login');
    }
    public function login(Request $request){
        $this->validate($request,[
            'password' => 'required|min:6',
            'email' => 'required',

        ]); 
        if(Auth::guard('admins')->attempt(['email' => $request->email,'password' => $request->password])){
            $_SESSION['admin'] = true;
            return redirect()->route('home');
        }else{
            return redirect()->route('admins.login')->with(['fail'=>'Email ou mot de passe est incorrect']);
        }
    }
    public function logout(){
        Auth::guard('admins')->logout();
        $_SESSION['admin'] = false;
        return redirect()->route('home');
    }
}

                            

3- الملف admins/create.blade.php

فالمجلد views زيد مجلد جديد سميه admins فيه زيد ملف جديد سميه create.blade.php هادا الملف لي فيه الفورم لي كتمكن الأدمن من التسجيل فمنبعد مكيدخل المعلومات ديالو فالحقول هاد المعلومات كتمشي لل fonction store لي كاينة AdminsController.php وكاين أيضا الكود لي كيعرض رسائل الخطأ يلا كان شي حقل فارغ الكود ديال الملف هو :

                                @extends('layouts.app')
@section('styles')

@endsection

@section('content')
    <div class="row">
        <div class="medium-offset-4 medium-11 columns">
            <h4>Ajouter un admin</h4>
                <form action="{{route('admins.store')}}" method="post">
                    @foreach($errors->all() as $error)
                        <div class="alert-danger">{{$error}}</div><br>
                    @endforeach
                    <hr>
                    <div class="medium-4  columns">
                        <label class="label info">Nom & Prénom</label>
                        <input name="name" type="text" placeholder="Votre Nom & Prénom">
                    </div>
                    <div class="medium-4  columns">
                        <label class="label info">Email</label>
                        <input name="email" type="text" placeholder="Votre Email">
                    </div>
                    <div class="medium-4  columns">
                        <label class="label info">Mot de passe</label>
                        <input name="password" type="password" placeholder="Votre Mot de passe">
                        <input name="_token" type="hidden" value="{{Session::token()}}">
                    </div>
                    <div class="medium-4  columns">
                        <input value="Valider" class="button success hollow" type="submit">
                    </div>
                </form>
            </div>
        </div>
@endsection

@section('scripts')

@endsection
                            

4- الملف admins/login.blade.php

فالمجلد admins فيه زيد ملف جديد سميه login.blade.php هادا الملف لي فيه الفورم لي كتمكن الأدمن باش يتكونيكطا فمنبعد مكيدخل المعلومات ديالو فالحقول هاد المعلومات كتمشي لل fonction login لي كاينة ف AdminsController.php وكاين أيضا الكود لي كيعرض رسائل الخطأ يلا كان شي حقل فارغ أو الكونيكسيون منجحتش الكود ديال الملف هو :

                                    @extends('layouts.app')
@section('styles')

@endsection

@section('content')
    <div class="row">
        <div class="medium-offset-4 medium-11 columns">
            <h4>Admin Login</h4>
                <form action="{{route('admins.login')}}" method="post">
                    @foreach($errors->all() as $error)
                        <div class="alert-danger">{{$error}}</div><br>
                    @endforeach
                    @if(Session::get('fail'))
                        <div class="alert-danger">{{Session::get('fail')}}</div><br>
                    @endif
                    <hr>
                    <div class="medium-4  columns">
                        <label class="label info">Email</label>
                        <input name="email" type="text" placeholder="Votre Email">
                    </div>
                    <div class="medium-4  columns">
                        <label class="label info">Mot de passe</label>
                        <input name="password" type="password" placeholder="Votre Mot de passe">
                        <input name="_token" type="hidden" value="{{Session::token()}}">
                    </div>
                    <div class="medium-4  columns">
                        <input value="Valider" class="button success hollow" type="submit">
                    </div>
                </form>
            </div>
        </div>
@endsection

@section('scripts')

@endsection
                                

5- الملف admins/index.blade.php

دائما فالمجلد admins فيه زيد ملف جديد سميه index.blade.php هادا الملف لي فيه كيتعرضوا les admins لي عندنا ولي كيمكن الأدمن من حدف admin بل id ديالو ولي كيجيونا من ل fonction index لي كاينة ف AdminsController.php فكنخدم ب foreach باش كنعرضهم فالجدول مع الرابط وكاين أيضا الكود لي كيعرض رسائل الخطأ والنجاح الكود ديال الملف هو :


                                    @extends('layouts.app')
@section('styles')

@endsection

@section('content')
    <div class="container">
        <div class="medium-12 columns">
            @if(Session::get('fail'))
                <div class="alert-danger">{{Session::get('fail')}}</div><br>
            @endif
            @if(Session::get('success'))
                <div class="alert-success">{{Session::get('success')}}</div><br>
            @endif
            <h4>Admins</h4>
            <hr>
            <a class="hollow button primary" href="{{route('admins.create')}}">Ajouter</a>
            <table class="stack">
            <thead>
                <tr>
                <th width="200">Nom & Prénom</th>
                <th width="200">Email</th>
                <th width="200">Action</th>
                </tr>
            </thead>
            <tbody>
                @foreach($admins as $admin)
                <tr>
                    <td>{{$admin->name}}</td>
                    <td>{{$admin->email}}</td>
                    <td>
                        <a class="hollow button warning" href="{{route('admins.delete',['id'=>$admin->id])}}">Supprimer</a>
                    </td>
                </tr>
                @endforeach
                </tbody>
            </table>
        </div>
    </div>
@endsection

@section('scripts')

@endsection
                                


إشترك في قناتنا على اليوتيوب

بحث في الموقع


إشترك للتوصل بالجديد