2016-05-25 17 views
0

ある関数の変数を他の関数に渡したいのですが、どうすればいいのですか。他の関数codeigniterにパラメータを渡す

 public function blog() { 

     $user_session_email = $this -> session -> userdata('user_email','name','id'); 
     if(!$user_session_email) { 
      redirect('/'); 
     } 

     $user_data = $this -> users_model -> MyAccount([ 
      'id' => $this -> session -> userdata('id'), 
      'name' => $this -> session -> userdata('name'), 
      'email' => $this -> session -> userdata('user_email'), 
     ]); 
     $data["persoanl"] = $user_data; 

     $returned_result = $this -> users_model -> load_messages(); 
     $messages["message"] = $returned_result['message']; 

     $post_id = $this -> input -> post('post_id'); 
     $return_comments = $this -> users_model -> return_comments(); 
     $messages['comments'] = $return_comments; 

     $this -> load -> view('users/inc/header', $data); 
     $this -> load -> view('users/inc/blog_form', $data); 
     $this -> load -> view('users/blog', $messages); 
     $this -> load -> view('users/inc/footer'); 
    } 

私は

public function load_messages() { 
     $returned_result = $this -> users_model -> load_messages(); 
     $messages["message"] = $returned_result["message"]; 

     $return_comments = $this -> users_model -> return_comments(); 
     $messages['comments'] = $return_comments; 

     $this -> load -> view('users/blog', $messages); 
    } 
+0

これは次のとおりです。public function load_messages(){'inside model ?? –

+0

それはモデルとコントローラの両方にあります –

答えて

0

以下の機能に$ post_idのを渡したいあなたは、グローバルとして変数を宣言してみましたか?

 $post_id = null; 
     public function blog() { 
     global $post_id; 
     $user_session_email = $this -> session -> userdata('user_email','name','id'); 

     if(!$user_session_email) { 
      redirect('/'); 
     } 

     $user_data = $this -> users_model -> MyAccount([ 
      'id' => $this -> session -> userdata('id'), 
      'name' => $this -> session -> userdata('name'), 
      'email' => $this -> session -> userdata('user_email'), 
     ]); 
     $data["persoanl"] = $user_data; 

     $returned_result = $this -> users_model -> load_messages(); 
     $messages["message"] = $returned_result['message']; 

     $post_id = $this -> input -> post('post_id'); 
     $return_comments = $this -> users_model -> return_comments(); 
     $messages['comments'] = $return_comments; 

     $this -> load -> view('users/inc/header', $data); 
     $this -> load -> view('users/inc/blog_form', $data); 
     $this -> load -> view('users/blog', $messages); 
     $this -> load -> view('users/inc/footer'); 
    } 

    public function load_messages() { 
     global $post_id; 
     $returned_result = $this -> users_model -> load_messages(); 
     $messages["message"] = $returned_result["message"]; 

     $return_comments = $this -> users_model -> return_comments(); 
     $messages['comments'] = $return_comments; 

     $this -> load -> view('users/blog', $messages); 
    } 
+0

はい私はしましたが、まだ結果がありません –

0

あなたはこのような何かを行うことができませんでしたか?

load_messages関数を呼び出す前に、必ずpost_idを取得してください。あなたがそれを呼び出すと、$ post_idを渡します。

public function load_messages($post_id) { 
    // Use $post_id as you wish... 
    $returned_result = $this -> users_model -> load_messages(); 
    $messages["message"] = $returned_result["message"]; 

    $return_comments = $this -> users_model -> return_comments(); 
    $messages['comments'] = $return_comments; 

    $this -> load -> view('users/blog', $messages); 
} 
+0

ブログの機能で$ post_idをエコーし​​てもIDは表示されませんが、IDはload_messages function –

+0

@WaleedIkhlaq、あなたのblog()関数で変数を設定して、それが設定されていることを確認した後に、 'Post ID:'。$ post_idを入れてください。そうであれば、そのエコーを取り除き、load_messages()関数の1行目と同じものを置きます。 load_messages関数からエコーしたときに表示されますか? – Phil

+0

これは、エコー時にはblog()関数で表示されますが、load_messagesでは表示されません。なぜなら、ajaxではblog()コントローラをターゲットとして定義しています。 –

関連する問題