دوره آموزشی

دوره آموزشی ۱۰۰ پروژه جاوا اسکریپت + پروژه محور
مبتدی تا پیشرفته در حال ضبط

دوره آموزشی ۱۰۰ پروژه جاوا اسکریپت + پروژه محور

00:00:00
0 دانشجو
رایگان
مشاهده دوره
آموزش پروژه محور ساخت فروشگاه فایل دانلودی با لاراول ۱۳
پیشرفته در حال ضبط

آموزش پروژه محور ساخت فروشگاه فایل دانلودی با لاراول ۱۳

00:38:53
0 دانشجو
1,499,000 تومان
مشاهده دوره
40 تخفیف آموزش حرفه ای طراحی قالب شرکتی بر پایه وردپرس
سطح متوسط تکمیل دوره

آموزش حرفه ای طراحی قالب شرکتی بر پایه وردپرس

08:32:53
3 دانشجو
999,000 599,000 تومان
مشاهده دوره
آموزش حرفه ای طراحی قالب فروشگاهی بر پایه ووکامرس
پیشرفته تکمیل دوره

آموزش حرفه ای طراحی قالب فروشگاهی بر پایه ووکامرس

12:09:12
7 دانشجو
1,499,000 تومان
مشاهده دوره

وبلاگ

ورود با ایمیل یا موبایل در لاراول ۹

2 دقیقه

ورود با ایمیل یا موبایل در لاراول ۹

در اکثرا سایت ها مثل فروشگاه ها سیستم ورود با موبایل دارند که کاربر بدون دردسر با شماره موبایل خود وارد پنل کاربری شود. می خواهیم این سناریو ورود با ایمیل یا موبایل در لاراول ۹ پیاده کنیم.

اول باید برای عضویت جدول موبایل ایجاد شود.

کد زیردر فایل create_users_table در مسیر database/migrations وارد کنید:

$table->string('mobile', 14)->unique();

دوم وارد RegisterController در مسیر app/Http/Controller/Auth شوید و کدهای زیر را وارد کنید:

۱. بخش validator :

'mobile' => ['nullable', 'string', 'min:9', 'max:14', 'unique:users'],

۲. بخش create :

'mobile' => $data['mobile'],

سوم وارد register.blade.php در مسیر resources/views/auth شوید.

کد زیر در فایل register.blade.php وارد کنید:

<div class="row mb-3">
   <label for="mobile" class="col-md-4 col-form-label text-md-end">{{ __('Mobile') }}</label>

    <div class="col-md-6">
       <input id="mobile" type="text" class="form-control @error('mobile') is-invalid @enderror" name="mobile" value="{{ old('mobile') }}" required autocomplete="mobile">

        @error('mobile')
           <span class="invalid-feedback" role="alert">
                <strong>{{ $message }}</strong>
           </span>
        @enderror
    </div>
</div>

کد بالا فیلد بر اساس جدول mobile است که هنگامی که کاربر این فیلد پر می کند به عنوان شماره موبایل در پایگاه داده ثبت می شود.

چهارم وارد LoginControllter در مسیر app/Http/Controller/Auth شوید و در انتهای آن کد زیر را وارد کنید:

public function username()
    {
        $login = request()->input('username');

        if(is_numeric($login)){
            $field = 'mobile';
        } elseif (filter_var($login, FILTER_VALIDATE_EMAIL)) {
            $field = 'email';
        } else {
            $field = 'username';
        }

        request()->merge([$field => $login]);

        return $field;
    }

سناریو کد بالا اینکه ورود با شماره موبایل امکان پذیر می کند و البته در کنار می توان با ایمیل وارد شد.

و در آخر در register.blade.php در مسیر resources/views/auth کد زیر را جایگزین کنید:

<div class="row mb-3">
   <label for="username" class="col-md-4 col-form-label text-md-end">{{ __('Email Address') }}</label>
<div class="col-md-6">
   <input id="username" type="text" class="form-control @error('username') is-invalid @enderror" name="username" value="{{ old('username') }}" required autocomplete="username" autofocus>
      @error('username')
          <span class="invalid-feedback" role="alert">
               <strong>{{ $message }}</strong>
          </span>
       @enderror
    </div>
</div>

موفق باشید 🙂

لاراول (Laravel) دسامبر/13/2022 640 بدون دیدگاه
40 
نظرات

دیدگاه شما


© راییوم 05-1402 تمامی حقوق محفوظ است.
قدرت گرفته از وردپرس و طراحی شده با فریم ورک Tani