反馈页面在codeigniter中没有响应

时间:2017-03-09 09:20:48

标签: php codeigniter feedback

我正在尝试在登录用户后提交反馈。如果表单为空,则数据未插入数据库,也不显示任何消息。

这是我的控制者:

function dashboard(){
        $this->load->model('stud_model');
        $this->form_validation->set_rules('name','Name', 'required');
        $this->form_validation->set_rules('email', 'Email Id', 'required');
        $this->form_validation->set_rules('feedback', 'Feedback', 'required');
        $data['username'] = $this->session->userdata('username');
        if ($this->form_validation->run()) {
            $data = array(
                    'Name' => $this->input->post('name'),
                    'Email' => $this->input->post('email'),
                    'Feedback' => $this->input->post('feedback'),
                );
            $submit = $this->stud_model->insert_feedback($data);
            if($submit) {
                $this->session->set_flashdata('message', 'Feedback Successfully Submitted !');
                redirect('Students/enter');
            }else{
                $this->session->set_flashdata('message', 'Feedback could not be Submitted !');
                redirect('Students/enter');
            }
        }else{$this->load->View('dashboard', $data);}
    }

function enter(){
        if ($this->session->userdata('username') != '') {
            $data['username'] = $this->session->userdata('username');
            $this->load->View('dashboard', $data);
        }else{
            redirect('Students/log');
        }
    }
    function logout(){
        $this->session->unset_userdata('username');
        redirect('Students/index');
    }

这是我的观点:

<body>
    <h1 align="center">My Dashboard</h1><br><br>
    <h3 align="left">Welcome <?php echo $username ?> !</h3>
    <form action="http://localhost/ci/index.php/Students/dashboard" align="center">
        <?php echo validation_errors(); ?>  
    <br>
        <input type="hidden" name="name" value="<?php echo $username ?>"><br>
        Email Id : <br><input type="text" name="email"><br><br>
        Feedback:<br><br>
        <textarea name="feedback" rows="10" cols="50"></textarea><br><br>
        <input type="submit" value="Submit"><br><br>
        <?php echo $this->session->flashdata("message"); ?>
        <a href="<?php echo base_url().'index.php/Students/logout'; ?>">Logout</a>
    </form>
</body>

这是我的模特:

function insert_feedback($data){
        $this->load->database();
        $this->db->insert("feedback", $data);
        return $this->db->insert_id();
    }

3 个答案:

答案 0 :(得分:0)

我认为你使用

    $this->load->library('database');

相反

    $this->load->database();

答案 1 :(得分:0)

  

更改autoload.php中配置文件夹的设置

$autoload['libraries'] = array('database','form_validation', 'session');

$autoload['helper'] = array('url','form');

答案 2 :(得分:0)

自己弄错了。 我忘了添加&#39;方法=&#34;发布&#34;&#39;我的形式。