زمان جاری: 2012/05/20, 08:24 AM خوش آمدید مهمان گرامی! (ورودعضویت)



ظاهر شدن نابجای پیام


ارسال موضوع  ارسال پاسخ 
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
رتبه موضوع:
 
ظاهر شدن نابجای پیام
نویسنده پیام
امیر آفلاین
تازه کار
*

ارسال‌ها: 21
تاریخ عضویت: Aug 2010
رتبه: 0
تشکر: 5
9 بار تشکر شده در 9 پست
ارسال: #1
ظاهر شدن نابجای پیام
سلام
من از متد setFlash برای نشان دادن پیغام به کاربرهام استفاده می کنم
اما گاها" پیش میاد که با باز شدن یک صفحه پیامی غیر مرتبط ( و معمولا
پیغام خطا ) نمایش داده میشه در صورتی که در اون شرایط اصلا خطایی
رخ نداده
اشکال از کجاست ؟!

من برای ایجاد سطوح کاربری در سیستمی که طراحی کردم در app_controller.php
در متد beforeFilter کنترلر و متد فراخوانی شده رو چک می کنم تا ببینم آیا کاربر
مجاز به دسترسی به آن متد هست یا نه ...
در صورتی که کاربر مجاز نباشد پیغام "شما مجاز به دسترسی به این قسمت نیستید"
رو در setFlash ذخیره و کاربر رو به صفحه ی اصلی منتقل می کنم.
گاهی پیش میاد که کاربر مجاز به دسترسی هست اما باز هم این پیام ظاهر میشه

و این هم قطعه کد تصمیم گیرنده :‌
کد PHP:
        $function $this->params['controller'].'_'.$this->action;
        
        if( !
in_array($function,$this->guestFunctions) ){
            

            if( 
$userLogin!==true ){
                
$this->flashFail('شما مجاز به دسترسی به این قسمت نیستید''/');
            }
            

        } 
ممنون
(آخرین تغییر در این ارسال: 2010/11/11 07:39 PM توسط امیر.)
2010/11/11 07:28 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 988
تاریخ عضویت: Dec 2009
رتبه: 12
تشکر: 399
869 بار تشکر شده در 559 پست
ارسال: #2
RE: ظاهر شدن نابجای پیام
از کامپوننت Auth استفاده کردید یا خودتون مدیریت احراز هویت رو به عهده گرفتید؟؟

من فکر میکنم درست احراز هویت انجام نمیشه
یک بار تریس کنید به صورت زیر
کد PHP:
if( $userLogin !==true ){
                
$this->flashFail('شما مجاز به دسترسی به این قسمت نیستید''/');
pr('teeeeeeeeeeeeeeeest');
            } 

حالا ببینید اون حالت هایی که پیام نباید نشون داده بشه اما نمایش داده میشه ایا test هم نمایش داده میشه؟
اگر میشه. درست احراز هویت انجام نمیشه
2010/11/11 10:51 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
امیر آفلاین
تازه کار
*

ارسال‌ها: 21
تاریخ عضویت: Aug 2010
رتبه: 0
تشکر: 5
9 بار تشکر شده در 9 پست
ارسال: #3
RE: ظاهر شدن نابجای پیام
(2010/11/11 10:51 PM)saleh نوشته است:  از کامپوننت Auth استفاده کردید یا خودتون مدیریت احراز هویت رو به عهده گرفتید؟؟

من فکر میکنم درست احراز هویت انجام نمیشه
یک بار تریس کنید به صورت زیر
کد PHP:
if( $userLogin !==true ){
                
$this->flashFail('شما مجاز به دسترسی به این قسمت نیستید''/');
pr('teeeeeeeeeeeeeeeest');
            } 

حالا ببینید اون حالت هایی که پیام نباید نشون داده بشه اما نمایش داده میشه ایا test هم نمایش داده میشه؟
اگر میشه. درست احراز هویت انجام نمیشه

من از کامپوننت استفاده نکردم و خودم مدیریت میکنم این مساله رو
سوالی که به طور اساسی ذهن من رو درگیر کرده اینه که حالا چه اهراز هویت درست
انجام بشه و چه غلط ٫ قبل از نمایش پیام اول باید redirect انجام بشه به ریشه سایت
اما این اتفاق نمی افته و پیام ظاهر میشه ...

می تونید راجع به نحوه ی عملکرد setFlash اطلاعات بیشتری به من بدین ؟
مثلا اینکه مقداری که درون این متد قرار میگیره کی از بین میره یا .... ؟
2010/11/13 08:38 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 988
تاریخ عضویت: Dec 2009
رتبه: 12
تشکر: 399
869 بار تشکر شده در 559 پست
ارسال: #4
RE: ظاهر شدن نابجای پیام
setflash پیام رو در سشن ذخیره میکنه هر عمل انجام بشه از رفش یا باز شدن با عث نمایش میشه.
2010/11/13 10:05 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
ارسال موضوع  ارسال پاسخ 


پرش در انجمن: