2017-07-17 7 views
0

私はたくさん試しましたが、私の要求はありません。 私はプライベートvarを宣言し、これをコントローラの機能の1つに割り当てるコントローラを持っています。それで、私は別の関数でそれを直接使用したいのですが、 からその関数に直接呼び出されたときに使います。codeigniterのリンクから直接呼び出されたときに、ある関数に変数値を設定し、他の関数で使用します。

 class Xyz extends CI_Controller { 
      private $var; 
      public function __construct() 
      { 
       parent::__construct(); 
       $this->var = null; 
      } 

      public function getGenVal(){ 
       $this->var = $_REQUEST['value']; //Setting the global variable 
      } 

      //Calling bellow function directly from a link 
      public function globalVarValue(){ 
       $val = $this->var; 
       echo $val; //Nothing displayed. 
      } 
     } 
+0

追加 'のerror_log()'あなたの各方法でのステートメントは、その後、サーバーのエラーログを見てください。おそらく、あなたのメソッドが期待通りの順序でコールされていないことがわかります。 – FKEinternet

+0

everytimeコンストラクトが呼び出され、$ this-> varをNULLに設定します。 – hrishi

+0

リンクに直接アクセスしたい場合はセッションのユーザーデータを使用して値を設定して取得します – hrishi

答えて

1
class Xyz extends CI_Controller { 
     private $var; 
     public function __construct() 
     { 
      parent::__construct(); 
      $this->var = null; 
     } 

     public function getGenVal(){ 
      $this->session->set_userdata('val',$_REQUEST['value']); //Setting the global variable 
     } 

     //Calling bellow function directly from a link 
     public function globalVarValue(){ 
      if($this->session->userdata('val')) 
      { 
       echo $this->session->userdata('val'); 
      } 

     } 
    } 
関連する問題