gpt4 book ai didi

mysql - 如果数据存在,则 Form_validation 未运行

转载 作者:行者123 更新时间:2023-11-29 06:17:53 26 4
gpt4 key购买 nike

我编辑了以下代码,以使其与我所做的更改保持同步。我已成功保存它但是,当重定向完成时,我仍然无法显示“成功”消息。另外,如果出现不正确错误,我该如何保存输入的数据?

Controller

class Addsale extends CI_Controller {

function __construct(){
parent::__construct();
}
function index() {
if(!$this->session->userdata('logged_in')) {
redirect('admin/home');
}
// set data
$data['title'] = "Add Sale";
$data['sales_pages'] = $this->sales_model->getSalesPages();
$data['cms_pages'] = $this->navigation_model->getCMSPages();

$this->load->library('form_validation');
$this->form_validation->set_rules('name', 'Name', 'trim|required');
$this->form_validation->set_rules('location', 'Location', 'trim|required');
$this->form_validation->set_rules('bedrooms', 'Bedrooms', 'trim|is_natural|required');
$this->form_validation->set_rules('bathrooms', 'Bathrooms', 'trim|required');
$this->form_validation->set_rules('condition', 'Condition', 'trim|required');
$this->form_validation->set_rules('description', 'Description', 'trim|required');
$this->form_validation->set_rules('price', 'Price', 'trim|required');

if($this->form_validation->run() === TRUE) {

$data = array(
'name' => $this->input->post('name', TRUE),
'location' => $this->input->post('location', TRUE),
'bedrooms' => $this->input->post('bedrooms', TRUE),
'bathrooms' => $this->input->post('bathrooms', TRUE),
'condition' => $this->input->post('condition', TRUE),
'description' => $this->input->post('description', TRUE),
'price' => $this->input->post('price', TRUE)
);

$this->sales_model->addSale($data);

redirect('admin/addsale' , $data);

$this->session->set_flashdata('success', 'Page Saved');

}else{
$data['content'] = $this->load->view('admin/addsale', NULL, TRUE);
$this->load->view('template', $data);
}

}


}

查看

<?php
//Setting form attributes
$formAddSale = array('id' => 'addSale', 'name' => 'addSale');
$saleName = array('id' => 'name', 'name' => 'name');
$saleLocation = array('id' => 'location', 'name' => 'location');
$saleBedrooms = array('id' => 'bedrooms','name' => 'bedrooms');
$saleBathrooms = array('id' => 'bathrooms','name' => 'bathrooms');
$saleCondition = array('id' => 'condition','name' => 'condition');
$saleDescription = array('id' => 'description','name' => 'description');
$salePrice = array('id' => 'price','name' => 'price');
?>

<section id = "validation"><?php print $this->session->flashdata('success');?> </section>
<section id = "validation"><?php echo validation_errors();?></section>

<?php
echo form_open('admin/addsale/', $formAddSale);
echo form_fieldset();
echo form_label('Name:', 'name');
echo form_input($saleName);
echo form_label ('Location', 'location');
echo form_input($saleLocation);
echo form_label ('Bedrooms', 'bedrooms');
echo form_input($saleBedrooms);
echo form_label ('Bathrooms', 'bathrooms');
echo form_input($saleBathrooms);
echo form_label ('Condition', 'condition');
echo form_input($saleCondition);
echo form_label ('Price', 'price');
echo form_input($salePrice);
echo form_label ('Description', 'description');
echo form_textarea($saleDescription);
echo form_submit('submit','Submit');
echo form_fieldset_close();
echo form_close();
?>

型号

function addSale($data) {

$this->db->insert('sales', $data);
return;
}

最佳答案

您正在使用 set_message 来显示“已完成”消息?如果是这样,则不会显示该内容,因为您在其之前进行了重定向。

尝试在重定向之前在 flashdata 中设置一条消息,如下所示:

$this->session->set_flashdata('success', 'Page Saved');

然后在您的 View 中打印出来:

print $this->session->flashdata('success')

关于mysql - 如果数据存在,则 Form_validation 未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5468022/

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