如何在codeigniter中显示消息?

问题描述 投票:3回答:6

我想在重定向链接上显示内容更新的成功消息。这是我的控制器代码: -

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>");

所以,你们可以让我知道我哪里出错了,我怎么能在视图上显示错误信息?当我的重定向转到控制器 - >而不是在view.so我如何从控制器 - >视图流出我的错误MSG 。提前致谢。

php codeigniter message
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)

2
投票

您的问题中指出了您的错误的解决方案:

要使用Session类,您需要在配置文件中设置加密密钥。


2
投票

你可以设置控制器,

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

然后将视图设置为

  echo isset($errormsg)?$errormsg:"" ;

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;

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 } ?>

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>';
}
© www.soinside.com 2019 - 2024. All rights reserved.