Php 如何在codeigniter中显示视图上的消息?

Php 如何在codeigniter中显示视图上的消息?,php,codeigniter,message,Php,Codeigniter,Message,我想在重定向链接上显示内容更新的成功消息。以下是我的控制器代码:- public function add_content() { $this->load->helper('url'); $id=$this->input->post('id'); $content=$this->input->post('content'); $title=$this->input->post(

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

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->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);
如果($status==1)
{
$this->session->set_flashdata(“消息”,“内容已成功更新…”);
重定向('admin/login/dash');
}
其他的
{
$this->session->set_flashdata(“消息”,“内容未更新…”);
重定向(“管理员/内容/主页”);
}
}
我的内容已成功更新,现在我想在特定的重定向链接上向用户显示消息。为此,我在上述代码中设置消息:

$this->session->set_flashdata("message","<font class='success'>Content Successfully Updated..!!</font>");
$this->session->set_flashdata(“消息”,“内容成功更新…”);

所以,你们能告诉我哪里出了问题,我如何在视图中显示错误消息吗?当我的重定向转到控制器->而不是视图时。那么我如何从控制器->视图中传递错误消息。提前谢谢。

打开
应用程序/config/config.php
并编辑行:

$config['encryption_key'] = '';
通过向字符串中添加一些随机值

$config['encryption_key'] = 'q0231sz!!1@asd';
之后,当您将消息设置为

$this->session->set_flashdata('key', 'value');
在您的视图文件中,只需回显即可

echo $this->session->flashdata('key');
请注意,此不会回显此加载上的
,但会在刷新页面后回显

$this->session->set_flashdata('mykey', 'testing');
echo $this->session->flashdata('mykey'); // will echo '' (nothing)

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

为了使用会话类,需要在配置文件中设置加密密钥


您可以将控制器设置为

$this->data['errormsg'] = "message";
然后将视图设置为

  echo isset($errormsg)?$errormsg:"" ;
**在控制器中设置闪存数据**
消息-闪存数据会话名称。
$this->session->set_flashdata('message','successfully updated');
读取闪存数据(通过引导警报进入视图)

在控制器/型号中添加以下代码:-

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>';
}
if($this->session->has_userdata('dash'))
{
回显“”。$this->session->dash['message'].';
}

谢谢我这么做了,现在没有显示错误,但您能告诉我如何在视图上显示错误消息吗?它在视图上显示错误:未定义属性:CI_Loader::$session并调用成员函数flashdata()在第31i行的/opt/lampp/htdocs/Harshal/first_ci/application/views/admin/admin_content.php中的非对象上,我刚刚回显了@HarshalMahajan,该错误意味着您应该加载会话类:
$this->load->library('session')是否加载了会话库??
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>';
}