2014-10-31 79 views
1

我想從控制器傳遞變量來查看,但它不工作...Yii的傳遞變量從控制器查看工作不

在控制器

class RegisterController extends Controller 
{ 
    public function actionRegisterPage() 
    { 
     // This function I have put it on url manager. 
     // And I tried at here worked fine 
     $util = new Utility();    
     $util->detectMobileBrowser(); 
     $util->checkWebSiteLanguageInCookies(); 
     $this->layout = "masterLayout"; 
     $this->render('index'); 
    } 
    public function actionSignIn(){ 

     if(blablabla){ 
      // Here is for me to display certain message, so I pass wish to pass $ERROR_USERNAME_INVALID to View 
      $ERROR_USERNAME_INVALID = "ERROR_USERNAME_INVALID"; 

      $this->render('index',array('ERROR_USERNAME_INVALID'=>$ERROR_USERNAME_INVALID)); 
     } 
    } 

} 

在查看

<?php echo $ERROR_USERNAME_INVALID; ?> 

錯誤

未定義的變量:ERROR_USERNAME_INVALID

在控制器public $ERROR_USERNAME_INVALID = "ERROR_USERNAME_INVALID";echo也試過申報查看......還是未定義的變量:ERROR_USERNAME_INVALID

任何建議做通變量查看?謝謝

+0

我曾嘗試你的代碼是工作。我發現這個錯誤「使用undefined constant blablabla - 假設'blablabla'」。 – 2014-10-31 04:00:42

+0

@YatinMistry blablabla我只是舉例而已......問題不存在 – TheSmile 2014-10-31 04:23:30

回答

1

這個把戲工作

if條件給出的值被視爲常量變量。因此,如果沒有奏效 所以,你必須把它作爲一個字符串 blablabla添加傳球"blablabla"

否則

1==1或任何有效的條件

public function actionSignIn(){ 

    if("blablabla"){ // Write value as string ("" in double quotes) other remove condition if not required 

     $ERROR_USERNAME_INVALID = "ERROR_USERNAME_INVALID"; 

     $this->render('index',array('ERROR_USERNAME_INVALID'=>$ERROR_USERNAME_INVALID)); 
    } 
} 

或嘗試如下面

In Controller

public function actionSignIn(){ 

     $my_var = "My Custom Value"; 

     $this->render('index',array('my_var'=>$my_var)); 
    } 
} 

鑑於

echo $my_var; 
+0

請問您能否定義得更清楚? – TheSmile 2014-10-31 04:20:01

+0

檢查更新回答?讓我知道上面的解決方案在你的最後? – 2014-10-31 04:28:17

+0

blablabla是不是問題....我的問題是'$ ERROR_USERNAME_INVALID'沒有去查看 – TheSmile 2014-10-31 04:32:51

相關問題