• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نمایش خطاها
#1
سلام دوستان برای نمایش خطاها چه کار میکنید؟
اگه از seflash استفاده میکنین خوب اینو کجا نمایش میدین؟؟؟

من اینجاشو رو نمیفهمم

مثلام من میخوا بگم اگه یوزر ثبت نام کرده بود یک پیغامی بیاد که این یوزر قبلا ثبتنام کرده این فلش بگ رو که ست کنم کجا نمایشش بدم؟!!
اگه کفشت پاتو می زد و از ترس قضاوت مردم پابرهنه نشدی و درد رو به پات تحمیل کردی دیگه در مورد آزادی شعار نده !
آلبر کامو
  پاسخ
تشکر شده توسط :
#2
کد پی‌اچ‌پی:
if(Yii::app()->user->hasFlash('msg');
        echo 
Yii::app()->user->getFlash('msg'); 
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : M.J
#3
نه مثله اینکه خیلی بد گفتم منظورم رو رضا جان
ببین از فلش بگ میتونم استفاده کنم مشکلم این نیست مشکلم اینجاست مثلا این کنترولر رو ببین:
کد پی‌اچ‌پی:
public function actionNew() {
        if (isset(
$_POST['User'])) {
            
$model User::model()->find('u_email='.$_POST['User']['u_email']);
            if(!empty(
$model)){
                
$model->attributes $_POST['User'];
                if (
$model->save()){
                       
// ----
                
}    
            }
       
        else{
            
Yii::app()->user()->setFlash('error','User already exist!!');
        }
            
$this->render('New', array('model' => $model));
        }
    } 

الان من اون خطا رو ست کردم ولی قرار هست بره به صفحه New با متغیر $model ولی اگه خطلا بده که من مدلی ندارم دیگه!! حالا سوال من اینه که بعد اینکه ست شد چجوری هندل کنم این قضیه رو!!؟؟؟
اگه کفشت پاتو می زد و از ترس قضاوت مردم پابرهنه نشدی و درد رو به پات تحمیل کردی دیگه در مورد آزادی شعار نده !
آلبر کامو
  پاسخ
تشکر شده توسط :
#4
اگه میخوای با زدن خطا کلابرنامه متوقف بشه خب از اکسکپشن ها استفاده کن در غیر اینصورت یک فلش ست کن .
حالا برای نمایشش میتونی توی هر صفحه دیگه ای نشون بدی دیگه .
اصلا یه اکشن برای نمایش اررو بساز وقتی ارروی رخ داد ، ست کن توی فلش بعد بفرست به اون اکشن توی ویواش هم فلش رو بگیر و نشون بده .
راحته که.
ولی بازم میگم برای این جور خطاها پیشنهاد میکنم از اکسکپشن استفاده کن .
یه خورده مدلت هم ضعف داشت اصلاح کردم.
سعی کن از CFormModel استفاده کنی .
کد پی‌اچ‌پی:
public function actionNew() 
{

    if (isset(
$_POST['User'])) 
    {
        
$model User::model()->find('u_email=?',array($_POST['User']['u_email']));
        if( ! empty(
$model))
{
            
$model->attributes $_POST['User'];
            if (
$model->save())
            {
                   
// ----
            
}    
        }
        else
        {
            
//Yii::app()->user()->setFlash('error','User already exist!!');
            
throw new CHttpException(500,"User exists !");
        }
        
$this->render('New', array('model' => $model));
    }

وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : M.J
#5
ببین سید جان این هم شاید کارت را راه انداخت:
http://www.yiiframework.com/doc/api/1.1/...ror-detail
سالهــــا مـــــى گــــــذرد، حادثه ها مى آید
انتظـــــار فـــــــرج از نیمـــــه خــــــرداد کشم

[عکس: ShowPicture.aspx?ID=52750d12-5d92-4286-9...height=100]
  پاسخ
تشکر شده توسط : M.J
#6
سلام
من برای نمایش setflash میام توی main layout این کد قرار میدم
کد پی‌اچ‌پی:
<?php
    
foreach(Yii::app()->user->getFlashes() as $key => $message) {
        echo 
'<div class="flash-' $key '">' $message "</div>\n";
    }
?>
البته میشه با جی اس بعد 5 دقیقه اون دایو رو مخفی کرد.
  پاسخ
تشکر شده توسط :
#7
(۱۳۹۲ آذر ۱۹, ۱۲:۱۹ ب.ظ)masato نوشته: سلام
من برای نمایش setflash میام توی main layout این کد قرار میدم
کد پی‌اچ‌پی:
<?php
    
foreach(Yii::app()->user->getFlashes() as $key => $message) {
        echo 
'<div class="flash-' $key '">' $message "</div>\n";
    }
?>
البته میشه با جی اس بعد 5 دقیقه اون دایو رو مخفی کرد.
راه جالبی بود. البته اگه بوت استرپ هم قاطیش کنید نور علی نور میشه.
سالهــــا مـــــى گــــــذرد، حادثه ها مى آید
انتظـــــار فـــــــرج از نیمـــــه خــــــرداد کشم

[عکس: ShowPicture.aspx?ID=52750d12-5d92-4286-9...height=100]
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان