【问题标题】:Insert values of a form to database in codeigniter在codeigniter中将表单的值插入数据库
【发布时间】:2015-12-20 16:50:38
【问题描述】:

对不起,我的无知,但 codeigniter 对我来说是新的。所以我不知道如何将值插入数据库。所以我的基本问题是我想了解如何将值从视图插入到控制器再到数据库中的模型。

这是我的控制器文件...

                <?php

                class Form extends CI_Controller {

                        public function index()
                        {
                                $this->load->helper(array('form', 'url'));

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

                                $this->form_validation->set_rules('username', 'Username', 'required');
                                $this->form_validation->set_rules('password', 'Password', 'required',
                                        array('required' => 'You must provide a %s.')
                                );
                                $this->form_validation->set_rules('passconf', 'Password Confirmation', 'required');
                                $this->form_validation->set_rules('email', 'Email', 'required');


                        }
                }?>

这是我的视图文件。

                    <?php

                    //print_r($data);

                    echo form_open();
                    ?>
                    <h5>Username</h5>
                    <input type="text" name="username" value="" size="50" />

                    <h5>Password</h5>
                    <input type="text" name="password" value="" size="50" />

                    <h5>Password Confirm</h5>
                    <input type="text" name="passconf" value="" size="50" />

                    <h5>Email Address</h5>
                    <input type="text" name="email" value="" size="50" />

                    <div><input type="submit" value="Submit" /></div>

                    </form>

这是模型文件..

                <?php

                class formsubmit extends CI_Model
                {




                }


                ?>

如果您也可以向我解释一下这个概念,那么抱歉回答一下......关于输入如何移动到控制器然后是数据库。

【问题讨论】:

  • Codeigniter 手册对您没有帮助?
  • 控制器名称不能使用Form。换个名字试试。
  • 没有 codeigniter 手册对我没有帮助......至少我应该如何在控制器中创建函数以将文件插入数据库

标签: php codeigniter


【解决方案1】:

看,有几点...不要命名您的控制器表单...这是一个坏主意...所有这些都直接来自文档。我不会重新发布您的视图代码......这是我在这里发布的非常基本的代码,并且有更好的做事方式,并且在继续之前您可能想要在控制器中处理更多的事情,但是这至少应该让你开始。另外,不要将模型和控制器命名为“form”和“formsubmit”之类的名称……这不是一个好习惯……将它们命名为“User”和“Users”之类的名称。

另外,不要忘记相应地调整您的路线文件。

这是你的控制器

<?php

class User extends CI_Controller {
    public function index()
            {
        $this->load->helper(array('form', 'url'));

        $this->load->library('form_validation');
        $this->form_validation->set_rules('username', 'Username', 'required');
        $this->form_validation->set_rules('password', 'Password', 'required',
                                            array('required' => 'You must provide a %s.')
                                    );
        $this->form_validation->set_rules('passconf', 'Password Confirmation', 'required');
        $this->form_validation->set_rules('email', 'Email', 'required');

        if ($this->form_validation->run() === FALSE)
        {
            $this->load->view('index_view', $data);
        }
        else
        {
            $this->load->model('Users_model');
            $this->Users_model->insert_user();
            $this->load->view('your_success_view');
        }
    }
}
?>

这是你的模特:

<?php

class Users_model extends CI_Model
{
    public function insert_user()
    {    
        $data = array(
            'username' => $this->input->post('username'),
            'password' => $this->input->post('password'),
            'email' => $this->input->post('email')
        );

        // users is the name of the db table you are inserting in
        return $this->db->insert('users', $data);
    }   
}
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    • 2015-10-07
    • 2012-11-26
    相关资源
    最近更新 更多