دورة laravel للمبتدئين الدرس العاشر


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


1- إضافة فورم التسجيل

غادي نمشي ل views تما غادي نزيد ملف جديد سميه register.blade.php فيه غادي تكون عندي الفورم لي كتمكن من إضافة مستخدم لقاعدة البيانات وارسالها ل route user.register لي غادي نزيدوه من بعد.

فالكود لي غادي تزيد فالملف هو :

                                //
<!doctype html>
<html lang="{{ app()->getLocale() }}">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Laravel</title>
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
        <!-- Fonts -->
        <link href="https://fonts.googleapis.com/css?family=Raleway:100,600" rel="stylesheet" type="text/css">
    </head>
    <body>
        {{-- part 3 --}}
        <div class="container">
            <div class="row mt-4">
                <div class="col-md-6">
                    <h3>Inscription</h3>
                    <hr>
                    @if(Session::has('success'))
                        <div class="alert alert-success">{{Session::get('success')}}</div>
                    @endif
                    {{-- part 3 --}}
                    @foreach($errors->all() as $error)
                        <div class="alert alert-danger">{{$error}}</div>
                    @endforeach
                    <form action="{{route('user.register')}}" method="post">
                        {{csrf_field()}}
                        <div class="form-group">
                            <input type="text" placeholder="Nom & Prénom"  name="name" class="form-control">
                        </div>
                        <div class="form-group">
                            <input type="text" placeholder="Email"  name="email" class="form-control">
                        </div>
                        <div class="form-group">
                            <input type="password" placeholder="Mot de passe"  name="password" class="form-control">
                        </div>
                        <div class="form-group">
                            <button class="btn btn-primary" type="submit">Valider</button>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </body>
</html>
                            

2- إضافة ل CONTROLLER USERSCONTROLLER

فغادي تزيد controller سميه UsersController غادي نزيد فيه 2  ديال les fonctions سميتهم :

- register لي كنسترجع بها الفورم لي هي الملف register لي زدنا.

- store لي كتمكن من استرجاع المعلومات من الفورم من بعد كنخدم بل model User لي كنخزن به المعلومات وكنرسلهم لقاعدة البيانات وكنوجه المستخدم مع رسالة نجاح.

الكود ديال الملف UsersController.php هو :

                                //
<?php

namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;

class UsersController extends Controller
{
    //
    public function register(){
        return view('register');
    }
    public function store(Request $request){
        $user = new User();
        $user->name = $request->name;
        $user->email = $request->email;
        $user->password = bcrypt($request->password);
        $user->save();
        return redirect('/user/register')->with(['success'=>'utilisateur ajouté']);
    }
}
                            

3- إضافة LES ROUTES ف WEB.PHP

فغادي تمشي للملف web.php تما غادي نزيد les routes ديالي منبعد ما نزيدهم غادي تمشي للرابط :

http://localhost/laravelProject/public/user/register غادي ندخل المعلومات نضغط على valider غادي يتزاد المستخدم كيف كتشوف فالصورة :

الكود لي زدنا ف web.php هو :

                                //
Route::get('/user/register','UsersController@register');
Route::post('/user/store','UsersController@store')->name('user.register');