Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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 无法使控制器和视图为注册表一起工作_Php_Codeigniter - Fatal编程技术网

Php 无法使控制器和视图为注册表一起工作

Php 无法使控制器和视图为注册表一起工作,php,codeigniter,Php,Codeigniter,我是CodeIgniter的新手 目前,我有一个register.php(视图)和一个register.php(控制器)。php(视图)包含一个简单的表单,我试图从这个表单将数据传递给控制器,以便将其插入数据库。简单 每当我加载视图时,我似乎得到的只是与变量和函数相关的不同错误消息,以及我试图加载视图的行上的错误 我只是问: 这是一起使用控制器和视图的正确方法吗 如何解决当前的问题 以下是两个文件: register.php(视图) 求职者 雇主 register.php(控制器) 您的控制

我是CodeIgniter的新手

目前,我有一个register.php(视图)和一个register.php(控制器)。php(视图)包含一个简单的表单,我试图从这个表单将数据传递给控制器,以便将其插入数据库。简单

每当我加载视图时,我似乎得到的只是与变量和函数相关的不同错误消息,以及我试图加载视图的行上的错误

我只是问:

  • 这是一起使用控制器和视图的正确方法吗
  • 如何解决当前的问题
  • 以下是两个文件:

    register.php(视图)

    
    求职者
    雇主
    
    register.php(控制器)


    您的控制器应如下所示:

    class Users extends CI_Controller{  
    public function __construct(){
        parent::__construct();
    }
    
    public function createuser() {
        if($this->input->post(null)){
            $data   = array();
            $data['email']      = $this->input->post('email');
            $data['name']       = $this->input->post('name');
            $data['password']   = $this->input->post('password');
            $data['userLevel']  = $this->input->post('userLevel');
            $this->db->insert('users', $data);
        }
        $this->load->view('register');
    }   
    }
    

    您的控制器应该是这样的,而不是写

    class Users extends CI_Controller{  
    public function __construct(){
        parent::__construct();
    }
    
    public function createuser() {
        if($this->input->post(null)){
            $data   = array();
            $data['email']      = $this->input->post('email');
            $data['name']       = $this->input->post('name');
            $data['password']   = $this->input->post('password');
            $data['userLevel']  = $this->input->post('userLevel');
            $this->db->insert('users', $data);
        }
        $this->load->view('register');
    }   
    }
    

    你需要这样做,而不是写

    。它是MVC,而且更清晰

    看法


    你需要这样做。它是MVC,而且更清晰

    看法



    为什么要在构造函数中定义类变量?您可能希望打开错误报告并查看错误日志。@tereško我肯定我提到过我是一个初学者,所以如果您愿意帮忙问这些问题的话。不,我现在将以正确的方式回答。当我检查错误日志时,它显示的错误与屏幕上显示的错误完全相同。意外的T_变量和预期的T_函数。错误的答案在上面的第一条注释中。为什么要在构造函数中定义类变量?您可能希望打开错误报告并查看错误日志。@tereško我肯定我提到过我是一个初学者,所以如果您愿意帮忙问这些问题的话。不,我现在将以正确的方式回答。当我检查错误日志时,它显示的错误与屏幕上显示的错误完全相同。意外的T_变量和预期的T_函数。错误的答案在上面的第一条注释中。@dianuj所以我不应该使用此方法?是的,对@dianuj,我现在已经编辑了代码。在插入正确的数据之前,请尝试使用
    set
    方法,但在创建数据数组时,必须在插入中传递该数组call@NiloySaha+1因为您提到了Form的操作为什么在控制器中进行数据库调用?它们应该在模型中。@dianuj所以我不应该使用这个方法?是的,对@dianuj,我现在已经编辑了代码。在插入正确的数据之前,请尝试使用
    set
    方法,但在创建数据数组时,必须在插入中传递该数组call@NiloySaha+1因为您提到了Form的操作为什么在控制器中进行数据库调用?它们应该在模型中。在我将所有这些代码插入相应的文件后,将找不到所有这些显示的页面。
    您需要使用您的代码对其进行调整,因为我没有您的所有结构。我只想用这个答案展示MVC的方式以及如何添加一个简单的用户。所以只要修改你们的代码,勾选任何“;”因为我并没有测试它,所以我把它写在答案上textarea@dianuj它仍然显示404页未找到,我不确定这是怎么回事。在我将所有这些代码插入适当的文件后,所有这些显示都是页未找到。
    您需要使用代码对其进行调整,因为我没有你所有的结构。我只想用这个答案展示MVC的方式以及如何添加一个简单的用户。所以只要修改你们的代码,勾选任何“;”因为我并没有测试它,所以我把它写在答案上textarea@dianuj它仍然显示404页未找到,我不确定这是怎么回事。
    class Users extends CI_Controller{  
    public function __construct(){
        parent::__construct();
    }
    
    public function createuser() {
        if($this->input->post(null)){
            $data   = array();
            $data['email']      = $this->input->post('email');
            $data['name']       = $this->input->post('name');
            $data['password']   = $this->input->post('password');
            $data['userLevel']  = $this->input->post('userLevel');
            $this->db->insert('users', $data);
        }
        $this->load->view('register');
    }   
    }
    
    <htmL>
    
    <body>
    
    <?php echo form_open('controllers/createuser'); ?>
    <input type="text" name="email">
    <input type="text" name="name">
    <input type="password" name="password">
    <select id="userLevel" name="userLevel">        
        <option value="2">Job Seeker</option>
        <option value="3">Employer</option>
    </select>
    <input type="submit" name="submit" value="Submit">
    
    <?php echo form_close(); ?>
    
    </body>
    
    </htmL>
    
        <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    
        class Users extends CI_Controller{  
    
        public function __construct(){
            $this->load->helper('form');
    
        }
    
        public function createuser() {
    
            $data['email'] = $this->input->post['email'];
            $data['name'] = $this->input->post['name'];
            $data['password'] = $this->input->post['password'];
            $data['userLevel'] = $this->input->post['userLevel'];
    
            if($this->input->post('submit')) {
    
                // Here you can validate data if you want
    
                $this->user_model->insert($data);
                redirect('users/success');
            }
            $this->load->view('register');
        }
    
        function success() {
          echo "You add user";
        }
    
    
    
    }
    
        ?>
    
    class User_model extends CI_model {
    
        public function __construct() {
            parent:: __construct();
        }
    
        function add($data) {
            $this->db->insert('users', $data);  // table name users
        }
        }