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

imadbelasri Laravel
LA

فهاد الجزء الخامس من 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
                                                        
                                                    

دروس ذات صلة

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 غادي نكملو الملفات لي بقاونا ولي غادي يمكنو...