2013-07-22 5 views
0

для каким-то образом моя CodeIgniter форма проверки не отображается на странице входа приводимого ниже моя страница Войти в видуCodeigniter форма проверки не показывает

  <div class="full_w"> 
     <p>Food4U</p> 
     <?php echo validation_errors(); ?> 
      <?php echo form_open('staff/valid_login'); ?> 
       <label for="city">Select City</label> 
       <select name="city" class="text"> 
        <option value="">Select City</option> 
        <?php echo $this->front_model->get_Fcities(); ?> 
       </select> 
       <label for="login">Username:</label> 
       <input id="login" name="username" class="text" /> 
       <label for="pass">Password:</label> 
       <input id="pass" name="password" type="password" class="text" /> 
       <div class="sep"></div> 
       <button type="submit" class="ok">Login</button> 
       <a class="button" href="">Change Password</a> 
      <?php echo form_close(); ?> 
      </form> 
     </div> 

приведенные ниже функции в контроллере

function valid_login() 
{ 
    $this->form_validation->set_rules('city','City','required|trim|xss_clean|callback_validate_credentials'); 
    $this->form_validation->set_rules('username','Username','required|trim|xss_clean|callback_validate_credentials'); 
    $this->form_validation->set_rules('password','Password','required|trim'); 
    if($this->form_validation->run()) 
    { 
     $data = array(
       'username' =>$this->input->post('username'), 
       'is_loggedin' => 1 
       ); 
      $this->session->set_userdata($data); 
      redirect('staff/member'); 
    } 
    else 
    { 
     $this->load->view("dashboard/login"); 
    } 

} 

function member() 
{ 
    $row['content']=$this->load->view("dashboard/member",array(),true); 
    $this->load->view("dashboard/template", $row); 
} 

function validate_credentials() 
{ 
    if($this->staff_model->can_login()) 
    { 
     return true; 
    } 
    else 
    { 
     $this->form_validation->set_message('validate_credentials','Incorrect Username or Password'); 
     return false; 
    } 
} 

и моя функция модели

function can_login() 
{ 
    $this->db->where('DB_User_City',$this->input->post('city')); 
    $this->db->where('DB_User_Login',$this->input->post('username')); 
    $this->db->where('DB_User_Pass',$this->input->post('password')); 

    $query= $this->db->get('frp_db_user'); 

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

если пользователь просто нажмет на su Пользователь кнопки bmit должен увидеть сообщение, и если пользователь предоставит какое-либо одно значение неверно, то пользователь также должен увидеть, что не так с логином, чтобы пользователь мог предоставить правильную информацию.

+0

Когда вы отправляете форму, что получаете? ошибка или что-нибудь еще? – Bora

+0

ничего не отображается, просто оставайтесь на странице входа – user2491230

+0

Im sure, у вас есть load form_validation library? – Bora

ответ

0

в вашем представлении для каждого поля, которое вы установили для проверки, удалите его поле или где-то еще напишите, как эти коды, чтобы показать свои ошибки проверки.

 <div class="full_w"> 
    <p>Food4U</p> 
    <?php echo validation_errors(); ?> 
     <?php echo form_open('staff/valid_login'); ?> 
      <label for="city">Select City</label> 
      <select name="city" class="text"> 
       <option value="">Select City</option> 
       <?php echo $this->front_model->get_Fcities(); ?> 
      </select> 
      <br /> 
      <?=form_error('city')?> 
      <br /> 
      <label for="login">Username:</label> 
      <input id="login" name="username" class="text" /> 
      <br /> 
      <?=form_error('username')?> 
      <br /> 
      <label for="pass">Password:</label> 
      <input id="pass" name="password" type="password" class="text" /> 

      <br /> 
      <?=form_error('password')?> 
      <br /> 

      <div class="sep"></div> 
      <button type="submit" class="ok">Login</button> 
      <a class="button" href="">Change Password</a> 
     <?php echo form_close(); ?> 
     </form> 
    </div> 
+0

спасибо, что ур предоставил решение, но я исправил свою проблему с урской идеей. На самом деле в моем контроллере что-то не так. Теперь моя проверка работает – user2491230

0

Ваш код выглядит нормально. Попробуйте этот код

if($this->form_validation->run() == FALSE) 
{ 
    //redirect to your login form 
} 
else 
{ 
    //redirect to dashboard 
} 

, пожалуйста, дайте мне знать, если у вас возникнут проблемы.

+0

Я попробовал это, но все равно ничего не произошло, но у меня не появилось никаких ошибок. – user2491230

Смежные вопросы