💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ فراز توانا
لاگین بودن یوزر
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۲۸ تیر ۱۳۹۹

سلام آقای محمدی امیدوارم حالتون خوب باشه

من تو پنل کاربری می‌خوام که بررسی بشه کاربر وارد شده یا نه اگر نه باید به جای داشبورد وارد صفحه auth بشه خب؟ که آدرس صفحه به جای www.example.com/dashboard بشه www.example.com/auth

حالا اومدم با کمک regular expression اون قسمت dispatch_request رو به این شکل نوشتم 

if(is_user_logged_in())
        {
            $url = '/\/dashboard\/?/';
        }else{
            $url = '/\/auth\/?/';
        }
        if(!preg_match($url,$request_uri)){
            return;
        }

 

خب حالا ولی مشکلی که هست اینه که اگر کاربر لاگین نبود صفحه auth رو نمیشناسه و  میگه که صفحه پیدا نشد .

از طرفی هم تو هندلر auth به این صورت تعریف کردم 

View::render('auth.login',[],'auth');

ممنون میشم یه راهنمائی بکنید که چیکار میشه کرد . 

 

سلام به نظرم ساده‌ترین راه اینه که چک کنید اگر کاربر login نبود خیلی راحت منتقلش کنید به صفحه auth. می‌تونید با استفاده از wp_redirect این کارو انجام بدید.

کیوان علی محمدی ۳۰ تیر ۱۳۹۹، ۱۰:۲۷

بله اونم انجام دادم ولی ارور redirected you too many times. میده 

فراز توانا ۳۱ تیر ۱۳۹۹، ۰۵:۲۰

خب این مشکل به دلیل اینکه کد شما داره داخل یک حلقه میفته به وجود میاد. بهتره توی بخش login چک کنید چون احتمال زیاد یه شرط اشتباهی داره بررسی میشه.

کیوان علی محمدی ۰۴ مرداد ۱۳۹۹، ۱۰:۱۱