首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用代码点火器的数据库错误#1054

使用代码点火器的数据库错误#1054
EN

Stack Overflow用户
提问于 2013-02-06 20:02:02
回答 1查看 713关注 0票数 0

我认为这可能是一个本地服务器问题,因为代码没有任何问题。如果有人能看一眼,那将是真诚的感谢!

控制器:

代码语言:javascript
复制
<?php
class Form1 extends CI_Controller {

    function index() {
        $this->load->view('myform1');
    }

    function save(){
        $this->load->model('form1_model');
        if($this->input->post('submit')){
            $this->form1_model->process();                
        }
        redirect('formsuccess1');
    }
}
?>

模型:

代码语言:javascript
复制
<?php
    class Form1_model extends CI_Model {

        function process(){

             $password = $this->input->post('pass_word');
             $passconf = $this->input->post('password_confirm');
             $email = $this->input->post('e_mail');
             $data = array(
                 'password'=>$password,
                 'passconf'=>$passconf,
                 'email'=>$email 
             );

             $this->db->insert('formdata',$data); 
        }
    }
?>

视图:

代码语言:javascript
复制
<html>
    <head>
        <title>My Form</title>
    </head>

    <body>
        <?php echo form_open('form1/save', array('name' => 'myform')); ?>
        <h5>Password</h5>
        <?php echo form_error('password'); ?>
        <input type="text" name="password"/>
        <h5>Password Confirm</h5>
        <?php echo form_error('passconf'); ?>
        <input type="text" name="passconf"/>
        <h5>Email Address</h5>
        <?php echo form_error('email'); ?>
        <input type="text" name="email"/>
        <div><input type="submit" name="submit" value="Submittt" /></div>
        </form>
    </body>
</html>
EN

回答 1

Stack Overflow用户

发布于 2013-02-07 01:12:38

正如@Joachim在上面的注释中提到的-- post变量名($this->input->post('variable_name');)必须与表单输入元素名称属性相同。

而不是$this->input->post('pass_word');,您应该执行$this->input->post('password');

目前,您正试图将一个空值数组插入到数据库中。

此外,可能与问题无关,但您不应该直接访问模型中的post数据,这应该存储在控制器中的变量中,并作为模型process()函数的参数传递。

下面是一个更新的控制器和模型:

代码语言:javascript
复制
<?php
class Form1 extends CI_Controller {

    function index() {
        $this->load->view('myform1');
    }

    function save(){

        // Get your post data here
        $password = $this->input->post('password');
        $passconf = $this->input->post('passconf');
        $email = $this->input->post('email');


        $this->load->model('form1_model');
        if($this->input->post('submit')){

            // Pass the data to your model
            $this->form1_model->process($password, $passconf, $email);                
        }
        redirect('formsuccess1');
    }
}
?>

型号:

代码语言:javascript
复制
<?php
class Form1_model extends CI_Model {

    function process($password, $passconf, $email){

        $data = array(
            'password'=>$password,
            'passconf'=>$passconf,
            'email'=>$email 
        );

        $this->db->insert('formdata',$data); 
    }
}
?>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14737708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档