簡體   English   中英

如何使用Codeigniter顯示成功消息?

[英]How to show success message using codeigniter?

我有一個from布局,當我按Submit按鈕時,此頁面上的數據保存到數據庫中。 我可以在同一頁面上打印表單驗證錯誤,但是我不能在該頁面上打印成功消息,我可以在另一頁面上打印成功消息,如何將消息顯示到同一頁面上,請幫助。

這是控制器:

    function addRoom(){
        $data['title'] = 'Add Room';
        $data['main_content'] = 'config/addRoom';
        $data['roomlists'] = $this->config_mdl->get_room_info();
        $this->load->view('_base/layout', $data);
    }

    function roomAdd(){
        $this->form_validation->set_rules('roomType', 'Room Type', 'trim|required|xss_clean');
        $this->form_validation->set_rules('roomName', 'Room Name', 'trim|required|xss_clean');
        $this->form_validation->set_rules('roomDetails', 'Room Details', 'trim|required|xss_clean');
        $this->form_validation->set_error_delimiters('<div class="alert alert-danger" role="alert">', '</div>');

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

            $this->addRoom();

        } else {
            $roomdata = array('room_type' => $this->input->post('roomType'),
                             'room_name' => $this->input->post('roomName'),
                             'room_details' => $this->input->post('roomDetails'));
            $this->config_mdl->roomAdd($roomdata);

        }           
    }

這是我的模型:

    function roomAdd($roomdata)
    {
        return $this->db->insert('tbl_room_info', $roomdata);
    }

這是我的觀點:

    <div class="panel-body">
    <?php echo validation_errors(); ?>
    <?php $attributes = array('class' => 'form-horizontal', 'role' => 'form');
                        echo form_open_multipart('config/roomAdd', $attributes);
                    ?>
    <div class="form-group">
        <label for="roomType" class="col-sm-2 control-label">Room type</label>
        <div class="col-sm-2">
        <select name="roomType" class="form-control">
        <option>Select</option>
        <option value="1">1</option>
        <option value="2">2</option>
        </select>
        </div>
    </div>
    <div class="form-group">
        <label for="roomName" class="col-sm-2 control-label">Room Name</label>
        <div class="col-sm-6">
        <input type="text" class="form-control" name="roomName" placeholder="Type Room Name" />
        </div>
    </div>
    <div class="form-group">
        <label for="roomDetails" class="col-sm-2 control-label">Room Details</label>
        <div class="col-sm-6">
        <textarea class="form-control" name="roomDetails" rows="3"></textarea>
        </div>
    </div>
    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-6">
        <button type="submit" class="btn btn-primary">Submit</button>
        </div>
    </div>
    <?php echo form_close(); ?>
    </div>

插入后只需添加閃存數據 (一次會話使用)即可:

} else {
    $roomdata = array(
        'room_type' => $this->input->post('roomType'),
        'room_name' => $this->input->post('roomName'),
       'room_details' => $this->input->post('roomDetails')
    );

    $this->config_mdl->roomAdd($roomdata);

    // set flash data
    $this->session->set_flashdata('msg', 'Room added');
    redirect('controller_name/addRoom');
}  

然后在視圖中(addRoom):

<?php if($this->session->flashdata('msg')): ?>
    <p><?php echo $this->session->flashdata('msg'); ?></p>
<?php endif; ?>

使用cdn js

https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.min.js
css 
https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/css/toastr.css

用查詢呼叫

$this->session->set_flashdata('error','Crediancial is wrong');



<?php
if($this->session->flashdata('notice') != ''){
echo '<script>toastr.warning("'.$this->session->flashdata('notice').'","Notice");</script>';
}

if($this->session->flashdata('error') != ''){
echo '<script>toastr.error("'.$this->session->flashdata('notice').'","Error");</script>';
}

if($this->session->flashdata('success') != ''){
echo '<script>toastr.success("'.$this->session->flashdata('success').'","Success");</script>';
}
?>

獲取Flash數據后,可以使用以下功能對Codeigniter中的自動刷新頁面進行重定向:

header('refresh:3; url=' . base_url().'/admin_folder/adminController');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM