यदि उपयोगकर्ता ने उपयोगकर्ता नाम और पासवर्ड दर्ज नहीं किया है और लॉगिन पर क्लिक करने का प्रयास नहीं किया है तो मैं त्रुटि संदेश दिखाने की कोशिश कर रहा हूं। मैं त्रुटि संदेश दिखाने की कोशिश कर रहा हूं जैसे उपयोगकर्ता नाम दर्ज नहीं किया गया है और पासवर्ड दर्ज नहीं किया गया है। लेकिन यह पूरी तरह से काम नहीं कर रहा है।

यहाँ मेरा नियंत्रक है:

public function login_user() {

    //$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean','required');
    //$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean','required');

    if ($this->form_validation->run() == FALSE) {

        $this->load->view('login_view');
    } else {
        $data = array(
            'username' => $this->input->post('username'),
            'password' => $this->input->post('password'),
            'firstname' => $this->input->post('firstname'),
            'lastname' => $this->input->post('lastname')
        );
        $result = $this->login_database->login($data);
        if ($result == TRUE) {
                    // Add user data in session
            $this->session->set_userdata('username', $data['username']);
            $this->session->set_userdata('firstname', $data['firstname']);
            $this->session->set_userdata('lastname', $data['lastname']);

            //redirect to dashboard
            $this->load->view('include/sidenavbar');
            $this->load->view('include/topnavbar');
            $this->load->view('dashboard');
        } else {
            if($data['username']=='')
            {
               $this->session->set_flashdata('err_message', 'Username Not Entered !');
            }

            $this->session->set_flashdata('err_message', 'Login is invalid. Please try again !');
            $this->load->view('login_view', $data);
        }
    }
}

यहाँ मेरा मॉडल है:

public function login($data) {

    $condition = "username =" . "'" . $data['username'] . "' AND " . "password =" . "'" . $data['password'] . "'";
    $this->db->select('*');
    $this->db->from('users');
    $this->db->where($condition);
    $this->db->limit(1);
    $query = $this->db->get();

    if ($query->num_rows() == 1) {
        return true;
    } else {
        return false;
    }
}

राय:

<?php 
if( $this->session->flashdata('err_message') )
{
    echo $this->session->flashdata('err_message');
}
?>

क्या कोई मेरी मदद कर सकता है कि इसे कैसे हल किया जाए?

2
suresh 15 मई 2018, 09:09

2 जवाब

सबसे बढ़िया उत्तर

कृपया नीचे की तरह सरणी में पास करके संदेश का प्रयास करें।

$this->load->library('session');

$this->session->set_flashdata('err_message', array('message' => 'Username Not Entered','class' => 'alert alert-warning'));

धन्यवाद।

3
Pradeep 15 मई 2018, 09:37

मैंने इस तरह की कोशिश की तो यह सही काम कर रहा है।

राय:

  <?php echo form_error('username','<span class="error">','</span>'); ?>
                    <input type="text" name="username" placeholder="Username" />
                     <?php echo form_error('password','<span class="error">','</span>'); ?>
                    <input type="password" name="password" placeholder="Password" />

मैंने प्रत्येक फ़ील्ड के लिए त्रुटियों को प्रदर्शित करने के लिए form_error का उपयोग किया।

तो यह पूरी तरह से काम कर रहा है।

1
suresh 15 मई 2018, 10:10