محسن بستان
5 سال پیش توسط محسن بستان مطرح شد
8 پاسخ

مشکل در middleware

دوستان من یک middleware ساختم تا چک کنم که کاربر اگر فعال بود بزاره بره داخل مدیریت در غیر این صورت به صفحه پرداخت ببره.
اما مشکل اینجاست که بعد از فعالسازی هم بازم اونو میبره صفحه پرداخت :/


<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;

class CheckUserActivation
{
    public function handle()
    {
        if (Auth::user()->id_activate == false){
            return redirect('/plan');
        }
    }
}

ثبت پرسش جدید
Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@mohsenbostan

آخه 2 تا عملیات منطقی ساده هست!
اگر ارور بده که خب رفع میکنیم
اگه این چیزایی که میگید هست
کش مرور گر رو حذف کنید
کد هارو چک کنید سیو شده باشه
و ...
شاید از اینا باشه
چون توی کدتون من موردی ندیدم و باید اجرا بشه


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@mohsenbostan

اروری دریافت نمیکنید؟

    public function __construct()
{
   Auth::loginUsingId();
    $this->middleware('auth');
}

توی کنترلری که این عملیات رو دارید انجام میدید بزارید و با آیدی یوزری که حالا ادمین هست تست بگیرید میدلور رو هم مشخص کنید


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 5 سال پیش آپدیت شد
0

@Alimotreb
فقط صفحه اررور 500 رو نشون میده. البته اگر این رو بردارم همون اررور رو نمیده ومستقیم دوباره میره صفحه پرداخت :/

Auth::loginUsingId();

محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 5 سال پیش مطرح شد
0

@Alimotreb
این هم کد های داخل کنترلر هستش :

public function __construct()
    {
        Auth::loginUsingId();
        $this->middleware('auth');
        $this->middleware('checkActivation')->except(['plan', 'buyPlan', 'verifyPay', 'verify']);
    }

Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

یک میدلور رو انتخاب کنید
تو loginUsingId هم آیدی اون یوزر رو بزنید
و بعد تست بگیرید


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 5 سال پیش مطرح شد
0

@Alimotreb
کد ها رو اینطوری کردم ولی بدون هیچ ارروری ری دایرکت میشه صفحه پرداخت

Auth::loginUsingId(1);
        $this->middleware('checkActivation')->except(['plan', 'buyPlan', 'verifyPay', 'verify']);

Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

این یوزر با آیدی 1
id_activate این مقدارش true هست یا false تو جدول؟
مقادیرش رو عددی کنید ، اگر 1 بود بره اگر 5 بود نره ( به جای true ، false)
این مورد رو هم تست بگیرید


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 5 سال پیش مطرح شد
0

@Alimotreb
مقدار داخل دیتابیس 1 هست. با هر عدد دیگه ای هم باشه بازم نتیجه متاسفانه یکیه


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@mohsenbostan

آخه 2 تا عملیات منطقی ساده هست!
اگر ارور بده که خب رفع میکنیم
اگه این چیزایی که میگید هست
کش مرور گر رو حذف کنید
کد هارو چک کنید سیو شده باشه
و ...
شاید از اینا باشه
چون توی کدتون من موردی ندیدم و باید اجرا بشه


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام