我使用$this-> db-> insert()将数据插入到我的表中.成功插入数据后,必须显示消息,也不应再次插入数据.
控制器:
public function index($message = '') {
$this->load->template('homePage');
}
/**
* Insert functionlaity
*/
public function insert() {
if ($_POST['save']) {
$result = $this->home->insertEntry();
$data['message'] = ($result > 0) ? 'saved' : 'Not';
redirect('HomeController',$data);
}
$this->load->view('homePage');
}
模型:
public function insertEntry()
{
$this->name = $_POST['name'];
$this->email = $_POST['email'];
$this->db->insert('users', $this);
return $this->db->affected_rows();
}
视图:
<div class="container sampleForm"><?PHP
echo isset ($message) ? $message : '';
echo form_open( get_class(get_instance()) . '/insert')
. form_label('id') . form_input('id', isset($query['id']) ? $query['id'] : '', 'class="form-control"') . br()
. form_label('name') . form_input('name', isset($query['name']) ? $query['name'] : '', 'class="form-control"') . br()
. form_label('email') . form_custom_input('email','email', isset($query['email']) ? $query['email'] : '', 'class="form-control"') . br()
. form_submit('save', 'save', 'class="btn btn-primary"')
. form_close();
?> </div>
我的问题是,如果我可以显示状态,则不会显示每次刷新其他状态的数据插入.
这一切都应该在我的HomeController.PHP中作为控制器,Home.PHP作为模型,homePage.PHP作为视图文件.不在任何其他文件中.
我的逻辑是:
例如:我有一张学生桌,我将存储学生姓名和标记,如名称,m1,m2,m3.现在我想添加标记,如果添加标记我想显示状态.刷新页面时不应发生重复插入.学生姓名和商标相似.我想单独用PHP做.
解决方法:
目前,没有选项将状态(成功,错误)消息传递到概述页面(或所需页面).
使用$_SESSION保存值并从会话中检索值.
控制器:
if (isset($_POST['save'])) {
$result = $this->home->insertEntry();
$message = ($result > 0) ? 'saved' : 'Not';
$this->session->set_userdata('message', $message);
//redirect, avoid duplicate entries
redirect('HomeController');
}
视图:
<div class="container sampleForm"><?PHP
if($this->session->has_userdata('message')){
echo $this->session->message;
$this->session->unset_userdata('message');
}
echo form_open( get_class(get_instance()) . '/insert')
. form_label('id') . form_input('id', isset($query['id']) ? $query['id'] : '', 'class="form-control"') . br()
. form_label('name') . form_input('name', isset($query['name']) ? $query['name'] : '', 'class="form-control"') . br()
. form_label('email') . form_custom_input('email','email', isset($query['email']) ? $query['email'] : '', 'class="form-control"') . br()
. form_submit('save', 'save', 'class="btn btn-primary"')
. form_close();
?> </div>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。