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>';
}