2017-07-22 21 views
1

私はで新しくcodeigniterinsertデータの後に成功とエラーメッセージを表示する必要があります。Codeigniterを挿入成功メッセージの表示後に表示

viewページにメッセージを表示するにはどうすればよいですか?

これは私のコーディングです:

モデル

function addnewproducts($data) 
{ 
    if($data['product_name']!="" && $data['product_qty']!="" && $data['product_price']!="" && $data['date']!="")  
    { 
     $res=$this->db->insert('product_list',$data); 
     return $this->db->insert_id(); 
    } 
    else 
    { 
     return false; 
    } 
} 

コントローラ

function addnewproduct() 
    { 
     $this->load->model('products'); 
     $data['product_name'] = trim(strip_tags(addslashes($this->input->post('product_name')))); 
     $data['product_qty'] = trim(strip_tags(addslashes($this->input->post('product_qty')))); 
     $data['product_price'] = trim(strip_tags(addslashes($this->input->post('product_price')))); 
     $data['datetime']=date('d-m-Y'); 
     $res = $this->products->addnewproducts($data); 
     if($res==true) 
     { 
      $data['success'] = 'Successful'; 
      $this->load->view('addproduct',$data); 
     } 

    } 

ビュー

<p><?php echo $success; ?></p> 
+0

のこのコードトップを書きますあなたの欠けている$ data – user4419336

+0

@ wolfgang1983:どうすればそれを追加できますか教えていただけますか?返信ありがとう – Ramesh

答えて

1

そこに多くの方法があるが、以下、私はお勧めされている:成功またはエラーのコントローラで

設定の一時セッション

$res = $this->products->addnewproducts($data); 
if($res==true) 
{ 
    $this->session->set_flashdata('success', "SUCCESS_MESSAGE_HERE"); 
}else{ 
    $this->session->set_flashdata('error', "ERROR_MESSAGE_HERE"); 
} 

ビューでは、あなたが以下のようにflashdata表示することができます。

echo $this->session->flashdata('success'); 
or 
echo $this->session->flashdata('error'); 

出典:codeigniter公式サイトhttps://codeigniter.com/userguide3/libraries/sessions.html

+0

ありがとうございました – Ramesh

0

あなたの答えはわかりましたが、フラッシュデータは少し古いと思います。ブートストラップを使用してエラーが発生しているかどうかを知ることができます。

In controller

$res = $this->products->addnewproducts($data); 
if($res==true) 
{ 
    $this->session->set_flashdata('true', 'write_the_message_you_want'); 
} 
else 
{ 
    $this->session->set_flashdata('err', "write_the_message_you_want"); 
} 

In View

<?php 
    if($this->session->flashdata('true')){ 
?> 
    <div class="alert alert-success"> 
    <?php echo $this->session->flashdata('true'); ?> 
<?php  
else if($this->session->flashdata('err')){ 
?> 
<div class = "alert alert-success"> 
    <?php echo $this->session->flashdata('err'); ?> 
</div> 
<?php } ?> 
+0

あなたの返信ありがとう –

+0

私はこれと同じ方法を試しました –

+0

期待した結果が得られませんでしたか? @Ramesh S –

0

コントローラー:

function addnewproduct() 
{ 
    $this->load->model('products'); 
    $data['product_name'] = trim(strip_tags(addslashes($this->input->post('product_name')))); 
    $data['product_qty'] = trim(strip_tags(addslashes($this->input->post('product_qty')))); 
    $data['product_price'] = trim(strip_tags(addslashes($this->input->post('product_price')))); 
    $data['datetime']=date('d-m-Y'); 
    if($this->products->addnewproducts($data)); 
    { 
     $this->session->set_flashdata('Successfully','Product is Successfully Inserted'); 
    } 
    else 
    { 
     $this->session->set_flashdata('Successfully','Failed To 
     inserted Product'); 
    } 
    // redirect page were u want to show this massage. 
     redirect('Controller/Fucntion_name','refresh'); 
}// close function 

ビュー:リダイレクトページ上 は、モデルの楽しみでフォーム

<?php if($responce = $this->session->flashdata('Successfully')): ?> 
     <div class="box-header"> 
     <div class="col-lg-6"> 
      <div class="alert alert-success"><?php echo $responce;?></div> 
     </div> 
     </div> 
    <?php endif;?> 
関連する問題