gpt4 book ai didi

php - 刷新时,重复数据插入 codeigniter 中的数据库

转载 作者:可可西里 更新时间:2023-11-01 07:39:17 26 4
gpt4 key购买 nike

我已使用 $this->db->insert() 将数据插入到我的表中。当数据插入成功时必须显示消息,并且数据不应再次插入。

Controller :

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 作为 Controller 、Home.php 作为模型和 homePage.php 作为 View 文件中工作。不在任何其他文件中。

我的逻辑是:

例如:我有一个学生表,我要在其中存储学生姓名和标记,例如 name, m1, m2, m3。现在我想添加标记,如果它添加我想显示状态。刷新页面时不应发生重复插入。学生姓名和分数相似。我想单独用 php 做。

最佳答案

目前,没有将状态(成功、错误)消息传递到概览页面(或所需页面)的选项。

使用 $_SESSION 保存值并从 session 中检索值。

为了显示状态消息并避免重复条目,代码如下:

Controller :

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>

关于php - 刷新时,重复数据插入 codeigniter 中的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31333994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com