Comunidad de diseño web y desarrollo en internet online

No funciona el operador lógico OR

Citar            
MensajeEscrito el 30 Ene 2014 08:31 pm
Buenas tardes, espero estén bien todos los integrantes de este Foro. Bueno el problema que me trae hoy por aquí es lo siguiente:

Tengo un código similar a este

function insertar_modelo() {
$session_id = $this->session->userdata('logged_in');
if ($session_id) {
if ($this->input->post()) {

if (($this->form_validation->run('seccioni') == FALSE) or ($this->form_validation->run('segunda') == FALSE) or ($this->form_validation->run('seccioniv') == FALSE)) {
$this->load->view('informe_insertar');
} else {
$this->form_validation->set_rules('cantPCTotal', 'Total de PC', 'callback_validaTotal');
if ($this->form_validation->run() == FALSE) {
$this->load->view('informe_insertar');
} else {
echo 'Bien';
}

}
}
} else {
$data['error'] = 'Debe autenticarse para acceder al sistema.';
$this->load->view('login', $data);
}
}

Como pueden apreciar estoy usando la clase Form Validation que brinda codeigniter, pero el problema que tengo es en el if del inicio, aqui es como si no viera el último or, solo muestra los mensajes de error si una de las dos primeras condiciones se cumple, y si estan bien esas dos pues va directo y me muestra el mensaje bien como lo tengo hasta el momento. Inicialmente me sucedía lo mismo con las dos primeras condiciones, luego las puse entra () y funcionó, pero ya con la tercera me está haciendo lo mismo.
Por favor si alguien puede darme una ayuda, se lo agradecería mucho.
Saludos
Katia

Por kreyesm

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 Ene 2014 03:54 pm
¿Se tienen que cumplir las tres condiciones o alguna de ellas?.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 31 Ene 2014 03:57 pm

DriverOp escribió:

¿Se tienen que cumplir las tres condiciones o alguna de ellas?.
si alguna da false tiene que entrar, el lio está en que la ultima siempre la coge true aunque sea false, graciass

Por kreyesm

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 Ene 2014 03:59 pm
Entonces el problema no está en el OR, está en el valor que devuelve el método run() con ese parámetro en particular. Aclaro que yo jamás usé CodeIgniter así que no sé qué hace ese método.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 31 Ene 2014 04:04 pm

DriverOp escribió:

Entonces el problema no está en el OR, está en el valor que devuelve el método run() con ese parámetro en particular. Aclaro que yo jamás usé CodeIgniter así que no sé qué hace ese método.
Si a lo mejor es eso, lo extraño es que lo hace bien con las dos primeras sentencias y en la tercera ya no funciona.

Por kreyesm

3 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.