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



خطای Call to a member function setFlash() on a non-object


ارسال موضوع  ارسال پاسخ 
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
رتبه موضوع:
 
خطای Call to a member function setFlash() on a non-object
نویسنده پیام
chalist آفلاین
تازه کار
*

ارسال‌ها: 48
تاریخ عضویت: Jan 2010
رتبه: 0
تشکر: 51
14 بار تشکر شده در 15 پست
ارسال: #1
Question خطای Call to a member function setFlash() on a non-object
نقل قول:Notice (8): Undefined property: UsersController::$Session [APP/controllers/users_controller.php, line 44]

Fatal error: Call to a member function setFlash() on a non-object in /var/www/cake-quickwall/app/controllers/users_controller.php on line 44

من یه صفحه ی ساین آپ نوشتم که وقتی دکمه ی ساب میت رو می زنم این خطا رو میده
کد کنترولر من هم اینه:
کد PHP:
<?php
class UsersController extends AppController{
    var 
$name 'Users';
    var 
$components = array('Auth''Email');
    
    function 
signup(){
        if(!empty(
$this->data)){
            if(isset(
$this->data['User']['password2'])){
                
$this->data['User']['password2hashed'] = $this->Auth->password($this->data['User']['password2']);
                
$this->data['User']['confirm_code'] = String::uuid();
                
$this->User->create();
                
                if(
$this->User->save($this->data)){
                    
                    
//email
/*
                    $this->Email->to = $this->data['User']['email'];
                    $this->Email->subject = 'Quickwall Confirmation';
                    $this->Email->replyTo = 'chalist1@gmail.com';
                    $this->Email->from = 'chalist(chalist1@gmail.com)';
                    $this->Email->sendAs = 'html';
                    $this->Email->template = 'confirmation';
                    
                    $this->set('name', $this->data['User']['username']);
                    $this->set('server_name', $_SERVER['SERVER_NAME']);
                    $this->set('id', $this->User->getLastInsertID());
                    $this->set('code', $this->data['User']['confirm_code']);
                    
                    if($this->Email->send()){

                        $this->Session->setFlash('Confirmation mail sent. Please check your Email');
                        $this->redirect(array('controller' => 'questions', 'action' => 'home'));

                    }else{
                        $this->User->del($this->getLastInsertID());
                        $this->Session->setFlash('ثبت نام انجام نشد. دوباره امتحان کنید');
                    }
*/
                    
                    
                    
$this->Session->setFlash('signup OK.');
                    
$this->redirect(array('controller'=>'questions''action' => 'home'));
                }else{
                    
$this->Session->setFlash('signup error. try again.');
                    
$this->data null;
                }
            }
        }
    }
    
    function 
confirm($user_id null$code null){
        if(empty(
$user_id) || empty($code)){
            
$this->set('confirmd'0);
            
$this->render();
        }
        
        
$usre $this->User->read(null$user_id);
        
        if(empty(
$user)){
            
$this->set('confirmd'0);
            
$this->render();
        }
        
        if(
$user['User']['confirm_code'] == $code){
            
$this->User->id $user_id;
            
$this->User->saveField('confirmed''1');
            
$this->set('confirmed'1);
        }else{
            
$this->set('confirmed'0);
        }
    }
    
    function 
login(){
        
//test
    
}
    
    function 
logout(){
        
$this->Session->setFlash('Logout');
        
$this->redirect($this->Auth->logout());
    }
}
?>

مشکل از چیه؟
من انگلیسی هم سرچ کردم تو گوگل چیز خاصی پیدا نکردم Sad
ممنون

ز باغ پیرهنت چون دریچه ها وا شد - بهشت گمشده پشت دریچه پیدا شد
رها ز سلطه ی پاییز، در بهار اتاق - گلی به نام تو در بازوان من وا شد
به دیدن تو همه ذره های من شد چشم - و چشم ها همه سر تا به پا تماشا شد
شتاب خواستنت این چنین که می بالد - به دیدن تو مگر می توان شکیبا شد
پدرغزل معاصر ایران - حسین منزوی
2010/09/12 04:32 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 989
تاریخ عضویت: Dec 2009
رتبه: 12
تشکر: 399
871 بار تشکر شده در 560 پست
ارسال: #2
RE: خطای Call to a member function setFlash() on a non-object
خوب مشخص هست. کامپوننت و هلپر Session رو فرا خوانی کنید
2010/09/12 10:52 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
 تشکر شده توسط : chalist
parsig آفلاین
Super Moderator
******

ارسال‌ها: 323
تاریخ عضویت: Jan 2010
رتبه: 6
تشکر: 131
357 بار تشکر شده در 179 پست
ارسال: #3
RE: خطای Call to a member function setFlash() on a non-object
خط تعریف کامپوننت هات رو به شکل زیر تغییر بده :
کد PHP:
var $components = array('Auth''Email''Session'); 

[تصویر: ubuntu2_userbar.gif]
یک برنامه نویس
آنکه مست آمد و دستی به دل ما زد رفت ... در این خانه ندانم به چه سودا زد و رفت
2010/09/12 11:39 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
ارسال موضوع  ارسال پاسخ 


پرش در انجمن: