راکت
محسن بستان
محسن بستان
7 سال پیش توسط محسن بستان مطرح شد
حل
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
تخصص :کانفیگ سرور و برنامه نویس
@Alimotreb7 سال پیشمطرح شد
0

سلام
@mohsenbostan

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


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

سلام
@mohsenbostan

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

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

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


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

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

Auth::loginUsingId();

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

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

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

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

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


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

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

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

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

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


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

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


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

سلام
@mohsenbostan

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


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

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