Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在codeigniter中将表单的值插入数据库_Php_Codeigniter - Fatal编程技术网

Php 在codeigniter中将表单的值插入数据库

Php 在codeigniter中将表单的值插入数据库,php,codeigniter,Php,Codeigniter,抱歉我的疏忽,但codeigniter对我来说是新的。所以我不知道如何向数据库中插入值。所以我的基本问题是,我想了解如何将值从视图插入到控制器,再插入到数据库中的模型中 这是我的控制器文件 <?php class Form extends CI_Controller { public function index() {

抱歉我的疏忽,但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
                {




                }


                ?>


很抱歉,如果你能解释一下这个概念的话。关于输入是如何移动到控制器然后是数据库的。

看,有几点…不要把你的控制器命名为表单…这是个坏主意…所有这些都是从文档中直接得来的。我不是在重新发布你的视图代码。。。这是我在这里发布的非常基本的代码,有更好的方法做事情,在继续之前,您可能希望在控制器中处理更多的事情,但这至少应该让您开始。此外,不要将模型和控制器命名为“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);
    }   
}
?>

看,有几点…不要命名控制器表单…这是个坏主意…所有这些都是直接从文档中获得的。我不是在重新发布你的视图代码。。。这是我在这里发布的非常基本的代码,有更好的方法做事情,在继续之前,您可能希望在控制器中处理更多的事情,但这至少应该让您开始。此外,不要将模型和控制器命名为“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);
    }   
}
?>


Codeigniter手册对您没有帮助?控制器名称不能通过
表格
。更改名称并重试。没有codeigniter手册对我没有帮助…至少我应该如何在controller中创建函数以将文件插入数据库模型用户指南codeigniter手册对您没有帮助?控制器名称不能通过
表单
。更改名称并重试。no codeigniter手册对我没有帮助…至少我应该如何在controller中创建函数以将文件插入databaseModel用户指南