2017-05-18 14 views
-1

こんにちは、ブログの説明ページにコメントセクションがあります。特定のブログに関するユーザーのコメントが成功メッセージを表示できない場合は、直接ブログページにリダイレクトされます。codeigniter phpを使用してデータを挿入した後で成功メッセージを表示できません

コントローラー:

function addcomments() 
    { 
     $this->load->library('form_validation'); 
     $this->form_validation->set_rules('first_name','First Name' , 'required'); 
     $this->form_validation->set_rules('email','Email'); 
     $this->form_validation->set_rules('description','Description'); 
     if($this->form_validation->run()== FALSE) 
     { 
     $data['mainpage']='blogs'; 
     $this->load->view('templates/template',$data); 
     } 
     else 
     { 

      //insert the user registration details into database 
      $data=array(
       'blog_id'=>$this->input->post('bl_id'), 
       'first_name'=>$this->input->post('first_name'), 
       'email'=>$this->input->post('email'), 
       'description'=>$this->input->post('description'), 
       ); 
      if ($this->blogs_model -> insertcomments($data)) 
      { 
       if ($this->blogs_model->sendEmail($this->input->post('email'))) 
       { 
        //$this->flash->success('msg','<div class="alert alert-success text-center">You are Successfully Registered! Please confirm the mail sent to your Email-ID!!!</div>'); 
        redirect("blog"); 
       } 
       else 
       { 
        //$this->flash->success('msg','<div class="alert alert-danger text-center">Oops! Error. Please try again later!!!</div>'); 
        redirect("blog"); 
       } 

      } 
      else 
      { 
       // error 
       $this->flash->success('msg','<div class="alert alert-danger text-center">Oops! Error. Please try again later!!!</div>'); 
       redirect('blog'); 
      } 
     } 
     } 
+0

成功のフラッシュメッセージはコメント行にあります。どうして ? – JYoThI

+0

'flash'はあなたのカスタムライブラリですか?一般的に、 '$ this-> session-> set_flashdata( 'msg'、 'message');' – Nidhi

+0

のようなフラッシュメッセージを設定することができるので、$ this-> session-> set_flashdata( 'msg'、 'message')を使用します。 ; $ this-> session-> flashdata( 'msg')を設定してエコーします。成功メッセージ – hrishi

答えて

2

あなたはこのようにそれを行う必要がありますflash_session設定するには:

$this->session->set_flashdata('item', 'value'); 

をし、セッションライブラリ

$this->load->library('session'); 

https://www.codeigniter.com/user_guide/libraries/sessions.html

をロード

は、ユーザがリダイレクトされているコントローラのコンストラクタで

$this->session->keep_flashdata('message'); 

を設定してみてください。

+0

を表示するには、ターゲット機能では、あなたがこのように$フラッシュ値にアクセスすることができます。この機能を、私は$フラッシュ= 1であるものをビューファイル – user8001297

+0

user8001297 @チェック更新答え – killstreet

1

$this->flash->successの代わりに、リダイレクトの前に$this->session->set_flashdataを使用してセッションでフラッシュメッセージを設定してみてください。

+0

を表示していない – user8001297

1

だから、あなたが1つの関数に持つことができ、コントローラに:

$flash=1; 
redirect(base_url()."blog/".$flash); 

とターゲット機能では、あなたがこのように$フラッシュ値にアクセスすることができます。

$flash= $this->uri->segment(3); 
if(!is_numeric($flash)) 
{ 
    redirect();  
}else{ 
    if($flash== 1){ 

    } 
} 

私はセグメントを入れる(3)あなたの例では、$ flashは2ダッシュの後にあるからです。しかし、たとえば、このリンク構造を持っている場合:www.mydomain.com/subdomain/home/index/$flashセグメント(4)を使用する必要があります。

希望に役立ちます。

+0

を表示しない成功メッセージ – user8001297

+0

に追加する必要がありますそれは何ですか? – user8001297

+0

$ flashは変数です。$ flash変数を使用してメッセージを渡すことができます –

関連する問題