Foros del Web » Programando para Internet » PHP »

Problema con operadores lógicos

Estas en el tema de Problema con operadores lógicos en el foro de PHP en Foros del Web. hello estoy haciendo un trabajo sumamente sencillo y no encuentro una solucion. basicamente funciona asi: tengo unos checkmarks y cuando trato de validar la página ...
  #1 (permalink)  
Antiguo 10/08/2007, 08:02
 
Fecha de Ingreso: diciembre-2006
Ubicación: Miami
Mensajes: 55
Antigüedad: 17 años, 4 meses
Puntos: 0
Pregunta Problema con operadores lógicos

hello estoy haciendo un trabajo sumamente sencillo y no encuentro una solucion. basicamente funciona asi: tengo unos checkmarks y cuando trato de validar la página con php no me funciona, mi objetivo es ue seleccionen al menos uno, si no, que salga un error (para validar)


Pagina 1
<form action="respuesta.php" method="post">
<input name="Internet" type="checkbox" id="Internet" value="Internet" />
<input name="Deportes" type="checkbox" id="Deportes" value="Deportes" />
</form>

respuesta.php

Código PHP:
<?php

if($Internet!="Internet" or $Deportes!="Deportes")
echo 
"Debes seleccionar al menos una categoría";

else
echo 
"Hicistes tu seleccion";

?>
algo asi es lo que quiero pero el problema lo veo en el opeardor or que no me esta funcionando como quisiera, solo necesito que me muestre el error si no se ha seleccionado alguno de ellos.


Gracias por todo
  #2 (permalink)  
Antiguo 10/08/2007, 08:24
Avatar de andruqui  
Fecha de Ingreso: agosto-2007
Mensajes: 269
Antigüedad: 16 años, 8 meses
Puntos: 2
Re: Problema con operadores lógicos

Tienes que hacer dos cosa en ese codigo:
1) Agregar
$Internet = $_POST['Internet'];
$Deportes = $_POST['Deportes'];
Por las dudas que los registros gloables esten off (lo recomiendo)

2) cambiar en el IF el OR por un AND, tu quieres mostrar error si no selecciono nada, o sea todos los check son distintos al valor ;)
Código PHP:
<?php

$Internet 
$_POST['Internet'];
$Deportes $_POST['Deportes'];

if( (
$Internet!="Internet") AND ($Deportes!="Deportes") )
    echo 
"Debes seleccionar al menos una categoría";
else
    echo 
"Hicistes tu seleccion";

?>

Saludos
  #3 (permalink)  
Antiguo 10/08/2007, 08:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Problema con operadores lógicos

Es mejor que utilices empty, y en lugar de usar la variable global, uses el arreglo $_POST o $_GET.

Algo asi:
Código PHP:
if( empty( $_POST['Internet'] ) && empty( $_POST['Deportes'] ) ) {
      echo 
"Debes seleccionar al menos una categoría";
} else {
      echo 
"Hiciste tu seleccion";

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 12:01.