2013-05-14 3 views
0

Я хочу проверить форму, которая имеет два поля, имя пользователя и пароль. Когда я вставляю данные, CodeIgniter показывает сообщение об ошибке, хотя я вставляю правильные данные.Форма не подтверждена

Вид:

<div id="acformulario"> 
    <?php echo validation_errors(); echo form_open('cindice/valida');?> 
     <label for="correo" id="dcorreo">Direcci&oacute;n de correo</label> 
     <input type="text" name="drcorreo" id="dcc"/><br /><br /> 
     <label for="contrasenya" id="cont">Contrase&ntilde;a</label> 
     <input type="password" name="contrasena" id="cmcont"/><br /><br /> 
     <!--<label for="enviar"></label>--> 
     <input type="submit" name="envia" id="bentrar" value="Entrar"/> 
    </form> 
</div> 

Контроллер:

public function valida() 
{ 
    $this->input->post('drcorreo'); 
    $this->input->post('contrasena'); 

    $this->form_validation->set_rules('correo','Direcci&oacute;n de 
      correo','trim|required|valid_email|xss_clean'); 
    $this->form_validation->set_rules('contrasenya','Contrase&ntilde;a', 
      'trim|required|md5|xss_clean'); 

    if ($this->form_validation->run()==true) 
    { 
     echo ("correct"); 
    } 
    else { 

     echo ("wrong"); 

    } 
} 

Когда я ввел правильные или неправильные данные отображаются любые сообщения правил. Например, оба поля необходимы, но если я нажму кнопку «Отправить» с пустыми полями, я буду смотреть неправильно на экране, и я должен посмотреть имя пользователя.

что не так?

Спасибо.

ответ

0

Прежде всего, вы перепутали имена ваших имен. В качестве параметра, используемого в качестве имени, введите имя типа ввода, а не метку.

, если ваше имя входа drcorreo

затем на вашем set_rules использования

set_rules('drcorreo','Direcci&oacute;n decorreo','trim|required|valid_email|xss_clean');

где первый параметр является именем поля ввода

+0

Да. Я меняю имена, как вы сказали, но проблема не устранена. – axmug

+0

Удалить имя из submit. (Имя = "Envia"). Просто:

+0

Да. Я удалил его, но проблема не исправлена. – axmug

0

$this->form_validation->set_rules('drcorreo','Direcci&oacute;n de 
      correo','trim|required|valid_email|xss_clean'); 
$this->form_validation->set_rules('contrasena','Contrase&ntilde;a', 
      'trim|required|md5|xss_clean'); 

ИЗМЕНИТЬ СВОЙ первый параметр Set_rules Method..It принимает имя Вход.

+0

Я меняю его, но он не работает. – axmug

0

Код обновление:

вид:

<div id="acformulario"> 
    <?php echo validation_errors(); echo form_open('cindice/valida');?> 
     <label for="correo" id="dcorreo">Direcci&oacute;n de correo</label> 
     <input type="text" name="drcorreo" id="dcc"/><br /><br /> 
     <label for="contrasenya" id="cont">Contrase&ntilde;a</label> 
     <input type="password" name="contrasena" id="cmcont"/><br /><br /> 
     <input type="submit" name="envia" id="bentrar" value="Entrar" /> 
    </form> 
</div> 

контроллер:

public function valida() 
{ 
    $this->input->post('drcorreo'); 
    $this->input->post('contrasena'); 

     $this->form_validation->set_rules('drcorreo','Direcci&oacute;n de 
     correo','trim|required|valid_email|xss_clean'); 
    $this->form_validation->set_rules('contrasena','Contrase&ntilde;a', 
     'trim|required|md5|xss_clean'); 
     if ($this->form_validation->run()==true) 
    { 
     echo ("good"); 
    } 
    else { 

     echo ("wrong"); 

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