3

リダイレクトリンクにコンテンツ更新の成功メッセージを表示したいのですが、コントローラーのコードは次のとおりです:-

public function add_content()
        {
        $this->load->helper('url');
    $id=$this->input->post('id');
        $content=$this->input->post('content');
        $title=$this->input->post('title');
        $this->load->model('admin/contentmodel');
    $status=$this->contentmodel->addcontent($id,$title,$content);
        if($status==1)
           {
            $this->session->set_flashdata("message","<font class='success'>Content Successfully Updated..!!</font>");
            redirect('admin/login/dash');
            }
        else
          {
           $this->session->set_flashdata("message","<font class='success'>Content Not Updated..!!</font>");
           redirect('admin/content/home');
          }
        }

コンテンツが正常に更新されたので、特定のリダイレクトリンクでユーザーにメッセージを表示したいと思います。そのために、上記のコードでメッセージを設定します。

$this->session->set_flashdata("message","<font class='success'>Content Successfully Updated..!!</font>");

だから、私がどこで間違っているのか、そしてどのようにエラーメッセージをビューに表示することができますか?リダイレクトがコントローラーに行く間->ビューよりも。コントローラーからエラーMSGをフローする方法->ビュー。前もって感謝します。

4

6 に答える 6

7

行を開いapplication/config/config.phpて編集します。

$config['encryption_key'] = '';

文字列にランダムな値を追加する

$config['encryption_key'] = 'q0231sz!!1@asd';

その後、メッセージを設定すると

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

ビューファイルで単にエ​​コーする

echo $this->session->flashdata('key');

これ'value'、このロードではエコーされませんが、ページを更新した後にエコーされることに注意してください

$this->session->set_flashdata('mykey', 'testing');
echo $this->session->flashdata('mykey'); // will echo '' (nothing)
于 2012-08-29T08:06:26.353 に答える
2

あなたのエラーの解決策はあなたの質問で指摘されています:

Sessionクラスを使用するには、構成ファイルに暗号化キーを設定する必要があります。

于 2012-08-29T08:07:36.533 に答える
2

コントローラを次のように設定できます。

$this->data['errormsg'] = "message";

次に、ビューをに設定します

  echo isset($errormsg)?$errormsg:"" ;
于 2014-12-29T07:43:24.470 に答える
0
/* Do this in controller */

//This should have message you needed. Try logging in file for testing
$message = $this->session->flashdata("message");

$data["message"] = $message;

$this->load->view("yourview",$data);

/* Do this in your view */

echo $message;
于 2012-08-29T08:13:01.767 に答える
0
**Set flash data in controller**

message - flash data session name. 

$this->session->set_flashdata('message', 'Sucessfully updated.');

Read flash data(Pass in view with bootstrap alert)

 <?php if($this->session->flashdata('message')){?>
   <div class="alert alert-success">      
    <?php echo $this->session->flashdata('message')?>
 </div>
 <?php } ?>
于 2017-12-27T11:18:54.380 に答える
0

コントローラ/モデルに次のコードを追加します:-

if($status==1)
{
     $data=array(
         'class' => 'success',
         'message' => 'Content Successfully Updated..!!'
     );
     $this->session->set_flashdata("dash",$data);
     redirect('admin/login/dash');
}
else
{
     $data=array(
         'class' => 'danger',
         'message' => 'Content Not Updated..!!'
     );
     $this->session->set_flashdata("dash",$data);
     redirect('admin/content/home');
}

ビューに次のコードを追加します:-

if($this->session->has_userdata('dash'))
{
   echo '<div class="alert alert-'.$this->session->dash['class'].'">'.$this->session->dash['message'].'</div>';
}
于 2017-12-27T17:03:13.927 に答える