مدرسه آنلاین پیبانُ

زیر مجموعه ای از وب سایــت بزرگ pibano.com

مدرسه آنلاین پیبانُ

زیر مجموعه ای از وب سایــت بزرگ pibano.com

Route::get('loginAdmin', function () {

    return view('loginAdmin');

});

loginadmin.blade.php

@extends('layouts.app')



@section('content')

<div class="container">

    <div class="row justify-content-center">

        <div class="col-md-8">

            <div class="card">

                <div class="card-header">{{ __('Login') }}</div>



                <div class="card-body">

                    <form method="POST" action="{{ route('loginAdminname') }}">   اسم گزاشتیم برا روت مربوط به روت بالا

                        @csrf



                        <div class="form-group row">

                            <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>



                            <div class="col-md-6">

                                <input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>



                                @error('email')

                                    <span class="invalid-feedback" role="alert">

                                        <strong>{{ $message }}</strong>

                                    </span>

                                @enderror

                            </div>

                        </div>



                        <div class="form-group row">

                            <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>



                            <div class="col-md-6">

                                <input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password">



                                @error('password')

                                    <span class="invalid-feedback" role="alert">

                                        <strong>{{ $message }}</strong>

                                    </span>

                                @enderror

                            </div>

                        </div>



                        <div class="form-group row">

                            <div class="col-md-6 offset-md-4">

                                <div class="form-check">

                                    <input class="form-check-input" type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}>



                                    <label class="form-check-label" for="remember">

                                        {{ __('Remember Me') }}

                                    </label>

                                </div>

                            </div>

                        </div>



                        <div class="form-group row mb-0">

                            <div class="col-md-8 offset-md-4">

                                <button type="submit" class="btn btn-primary">

                                    {{ __('Login') }}

                                </button>



                                @if (Route::has('password.request'))

                                    <a class="btn btn-link" href="{{ route('password.request') }}">

                                        {{ __('Forgot Your Password?') }}

                                    </a>

                                @endif

                            </div>

                        </div>

                    </form>

                </div>

            </div>

        </div>

    </div>

</div>

@endsection

Route::post('loginAdmin',"LoginAdmin@login")->name('loginAdminname');   اسم میتونیم بزاریم براش مربوط به ویو پایین

 

use Session;   دقت

class LoginAdmin extends Controller

{

    public function login(Request $data)   از فرم پایین همه چی رو بگیر

    {

        if($data->email=="pibganos@yahoo.com" && $data->password=="31867453")

        {

            Session::put('adminLogged',true);   اگه ایمب و رمزش این بود ادمین لاگد رو بریز تو سشن

            return redirect('admin/user');

        }

        else

        {

            return redirect()->back()->with('error','اشتباهه')->withInput();

        }

    }

}

 

Route::group(['prefix' => 'admin' , 'middleware'=>'isAdmin'], function () {

  یه گروه روت و ابنکه پیشوند همشون admin/ باشه

تنظیم کرنلشم فراموش نشه

use Session;   دقت

class isAdmin

{

    public function handle($request, Closure $next)

    {

        if(!Session::has('adminLogged')) اون تعجب معکوسش میکنه یعنی اگه تو سشن وجود نداشت

        return redirect('loginAdmin');

        return $next($request);

    }

}

 

    Route::get('user',"UserAdminController@showUserAdmin");

 

use App\User;

class UserAdminController extends Controller

{

    public function showUserAdmin()

    {

        return view("useradmin" , ['users'=>User::get()]);

    }

}

useradmin.blade.php

{{ var_dump($users->toArray()) }}

 

    Route::get('addPost', function () {

        $category = DB::table('articles_category')->get();

DB:table یه کلاس گلوبال به همه ی تیبل ها دسترسی میده (اگه مدل نداره تیبلی دو ساعت نریم واسش بسازیم)

        return view('newPost' , ['category'=>$category]);

    });

 

newPost.blade.php

<body>

    <form action="{{ url('admin/addPost') }}" method="post" style="text-align: right">

        @csrf

        <div class="form-group">

            <label for="title">عنوان مقاله:</label>

            <input type="text" name="title" class="form-control" id="title" value="{{ old('title') }}">

        </div>

        <div class="form-group">

            <label for="title">دسته بندی:</label>

            <select name="category_id">

                @foreach ($category as $item)   این ظرف تو روت بالا تعریف شده

                <option value="{{ $item->id }}">{{ $item->title }}</option>

                @endforeach

            </select>

        </div>

        <div class="form-group">

            <label for="body">متن مقاله:</label>

            <textarea cols="" rows="5" type="text" name="body" class="form-control" id="body">{{ old('body') }}</textarea>

        </div>

        <div class="form-group">

            <button type="submit" class="btn btn-success">ثبت مقاله</button>

        </div>

    </form>

</body>

</html>

 

    Route::post('addPost',"PostController@post");

 

use App\Article;

use Auth;

class PostController extends Controller

{

    public function post(Request $data)

    {

        $data['user_id'] = Auth::user()->id;

این و کتگوری آیدی نیست
اینو اینجا میگیریم کتگوری آیدیم از روت 2 تا بالا

        Article::Create($data->except('_token'));

        return redirect()->back()->withInput();

    }

}

 

});

 

Article Model:

 

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

use Pishran\LaravelPersianSlug\HasPersianSlug;   دقت

use Spatie\Sluggable\SlugOptions;   دقت

class Article extends Model

{

    use HasPersianSlug;   از سایت کپی میکنیم با 2 خط بالا



    public function getSlugOptions(): SlugOptions

    {

        return SlugOptions::create()

            ->generateSlugsFrom('title')

            ->saveSlugsTo('slug');

    }

    protected $fillable = ['title','slug','body','category_id','user_id'];   قابل پر شدن

    public function user()

    {

        return $this->belongsTo('App\User', 'user_id', 'id');

    }

}

 

برای نصبشم:

composer require pishran/laravel-persian-slug

  • امیررضا ابراهیمی

laravel

لاراول