как проверить, если имя пользователя уже существует, используя codeigniter - PullRequest
1 голос
/ 20 мая 2019

Я хочу создать форму авторизации. В этом мне нужно проверить, существуют ли уже имя пользователя и адрес электронной почты. Если существует, отображается ошибка

Я пробовал этот урок для CRUD

<?php
    defined('BASEPATH') OR exit('No direct script access allowed');

    class Insert extends CI_Controller {

        // For data insertion
        public function index(){

            //Setting validation rules
            $this->form_validation->set_rules('firstname','First Name','required|alpha');
            $this->form_validation->set_rules('lastname','Last Name','required|alpha');
            $this->form_validation->set_rules('emailid','Email id','required|valid_email');
            $this->form_validation->set_rules('contactno','Contact Number','required|numeric|exact_length[10]');
            $this->form_validation->set_rules('address','Address','required');

            if($this->form_validation->run()){
                $fname=$this->input->post('firstname');
                $lname=$this->input->post('lastname');
                $email=$this->input->post('emailid');
                $cntno=$this->input->post('contactno');
                $adrss=$this->input->post('address');
                //loading model
                $this->load->model('Insert_Model');
                $this->Insert_Model->insertdata($fname,$lname,$email,$cntno,$adrss);
                $this->load->view('insert');
            } else {
                $this->load->view('insert');
            }
        }
    }

Ответы [ 3 ]

3 голосов
/ 20 мая 2019

Что вы хотите сделать, это изменить ваши правила проверки формы, как показано ниже:

Просто добавьте is_unique[tablename.fieldname] правила к проверке формы. Например:

$this->form_validation->set_rules('emailid','Email id','required|valid_email|is_unique[yourTableName.yourEmailFieldName]');

Кстати: вы также можете использовать обрезку в правилах для вашей электронной почты

0 голосов
/ 22 мая 2019

Также вы можете назначить свой пользовательский метод проверки

$this->form_validation->set_rules('emailid','Email id','required|valid_email|callback_username_check');

    public function username_check($str)
    {
           //your db query to check email exists and return true or false
    }
0 голосов
/ 20 мая 2019
    $this->db->where('emailid', $email); // OTHER CONDITIONS IF ANY
    $this->db->from('tblusers'); //TABLE NAME
    echo $this->db->count_all_results();
if($this->db->count_all_results() > 0)
{
echo "Duplicate Record";
}
else
{
echo  "New record";
}

Надеюсь, это поможет вам ... просто поймите логику

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...