Hola, estoy tratando de hacer una pequeña prueba de validación llamando a una función directamente desde el formulario pero utilizando sistema codeIgniter no funciona sin embargo si lo hago mediante php puro si.
En la vista tengo lo siguiente:
<html>
<body>
<?php
echo validation_errors();
echo $titulo_web . "(" . $fecha . ")";
//Validacion llamando a una función determinada
echo form_open('c_fotos/controlar_validez');
echo form_label('Usuario');
echo form_input('usuario') . "<br>";
echo form_label('Password');
echo form_input('password') . "<br>";
echo form_submit('botonSubmit','Enviar');
echo form_close();
?>
</body>
</html>
En el controlador:
<?php
class c_fotos extends CI_Controller{
public function index(){
...
...
}
public function controlar_validez(){
$this->load->helper('form');
$this->load->library('form_validation');
$this->form_validation->set_rules('usuario','Error usuario','required');
$this->form_validation->set_rules('password','Error password','required');
if ($this->form_validation->run()==true){
return TRUE;
}
else{
return FALSE;
}
}
}
?>
Sin embargo, si "controlar_validez" la realizo de esta otra manera si que funciona:
public function controlar_validez(){
$s_usuario=trim($this->input->post('usuario'));
$s_password=trim($this->input->post('password'));
if (strlen($s_usuario)==0){
echo "debe introducir usuario<br>";
}
if (strlen($s_password)==0){
echo "debe introducir password<br>";
}
}
Mi pregunta es ¿por qué no funciona de la primera manera?
Gracias.