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 如何使用codeigniter';这是唯一的工作_Php_Codeigniter - Fatal编程技术网

Php 如何使用codeigniter';这是唯一的工作

Php 如何使用codeigniter';这是唯一的工作,php,codeigniter,Php,Codeigniter,我已经检查了codeigniter的文档,但没有关于它的特殊页面或信息。我只想知道它是怎么工作的。我有这个代码,它正在工作!,我想知道的是,在无法访问任何模型或数据库的情况下,_unique是如何工作的。codeigniter中是否有任何类是唯一的?是否使用它根据表名和提供给它的字段等信息检索数据? 这就是代码: 视图中的电子邮件输入: echo form_input('email_address', set_value('email_address'), 'placeholder="Email

我已经检查了codeigniter的文档,但没有关于它的特殊页面或信息。我只想知道它是怎么工作的。我有这个代码,它正在工作!,我想知道的是,在无法访问任何模型或数据库的情况下,_unique是如何工作的。codeigniter中是否有任何类是唯一的?是否使用它根据表名和提供给它的字段等信息检索数据? 这就是代码:

视图中的电子邮件输入:

echo form_input('email_address', set_value('email_address'), 'placeholder="Email"');
以及控制器:

function create_member()
    {
        $this->load->library('form_validation');

        // field name, error message, validation rules
        $this->form_validation->set_rules('email_address', 'Email Address', 'trim|required|valid_email|is_unique[membership.email]');
        $this->form_validation->set_rules('username', 'Username', 'trim|required|min_length[4]');
        $this->form_validation->set_rules('password', 'Password', 'trim|required|min_length[4]|max_length[32]');
        $this->form_validation->set_rules('password2', 'Password Confirmation', 'trim|required|matches[password]');

        $this->form_validation->set_error_delimiters('<div class="alert alert-error"><a class="close" data-dismiss="alert">×</a><strong>', '</strong></div>');

        if($this->form_validation->run() == FALSE)
        {
            $this->load->view('pages/signup_form');
        }

        else
        {           
            $this->load->model('admin/Users_model');

            if($query = $this->Users_model->create_member())
            {
                $this->load->view('pages/signup_successful');           
            }
            else
            {
                $this->load->view('pages/signup_form');         
            }
        }

    }

您可以在以下位置找到此函数的源代码:
system/libraries/Form_validation.php
,它似乎是从系统类调用的唯一实例
is_unique

代码:

“函数sscanf()是printf()的输入模拟。sscanf()从字符串str读取,并根据指定的格式对其进行解释,这在sprintf()的文档中有描述。”-

正在运行sscanf()以将数据库与表名分开

然后,函数检查数据库连接是否存在,选择参数中提供的表,并搜索该表以返回该条目是否存在。使用语法为布尔表达式的三元运算符(?:)?如果正确:如果错误

希望有帮助

function create_member()
    {

            $new_member_insert_data = array(
                'email' => $this->input->post('email_address'),         
                'user_name' => $this->input->post('username'),
                'pass_word' => md5($this->input->post('password'))                      
            );
            $insert = $this->db->insert('membership', $new_member_insert_data);
            return $insert;

    }
    /**
     * Is Unique
     *
     * Check if the input value doesn't already exist
     * in the specified database field.
     *
     * @param   string  $str
     * @param   string  $field
     * @return  bool
     */
    public function is_unique($str, $field)
    {
        sscanf($field, '%[^.].%[^.]', $table, $field);
        return isset($this->CI->db)
            ? ($this->CI->db->limit(1)->get_where($table, array($field => $str))->num_rows() === 0)
            : FALSE;
    }