Foros del Web » Programando para Internet » PHP »

checkbox obligatorio?

Estas en el tema de checkbox obligatorio? en el foro de PHP en Foros del Web. hoola! en un formulario hecho con PHP, debo poner lo típico de aceptación de condiciones y etc. Con un checkbox quisiera que si no está ...
  #1 (permalink)  
Antiguo 02/05/2006, 10:33
 
Fecha de Ingreso: enero-2006
Mensajes: 143
Antigüedad: 11 años, 11 meses
Puntos: 0
checkbox obligatorio?

hoola!

en un formulario hecho con PHP, debo poner lo típico de aceptación de condiciones y etc. Con un checkbox quisiera que si no está activado, no se pudiera enviar el formulario.

Sabeis como hacerlo?¿ me expliké bien?
  #2 (permalink)  
Antiguo 02/05/2006, 10:38
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años, 1 mes
Puntos: 1
eso igual mejor con javascript

en el boton submit metes una condicion onclick="if (nombrecheckbox.checked==false) alert ('Debes seleccionar el checkbox'); return false;" y asi no se envia el formulario..

bueno.. supongo.. (siempre supongo) jeje

saludos
  #3 (permalink)  
Antiguo 02/05/2006, 10:53
 
Fecha de Ingreso: enero-2006
Mensajes: 143
Antigüedad: 11 años, 11 meses
Puntos: 0
no funciona... (o no controlo el JS...)

en la etiketa del checkbox pongo el
Código:
onclick=
y después pongo a saco el script que me has pasado? o pongo la etiketa
Código:
 <script language="javascript">
?¿?¿?

Última edición por Garto-la; 02/05/2006 a las 11:07
  #4 (permalink)  
Antiguo 02/05/2006, 11:38
Avatar de vapoc  
Fecha de Ingreso: marzo-2005
Ubicación: Bogota colombia
Mensajes: 31
Antigüedad: 12 años, 9 meses
Puntos: 0
Si lo quieres hacer con php es sencillo
Cita:
<?PHP
if($checkbox == yes){
echo "procesa el form";}
else{
echo "no procesa y mensaje de error";}
.xD
  #5 (permalink)  
Antiguo 02/05/2006, 11:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por vapoc
Si lo quieres hacer con php es sencillo

.xD
Siendo ...:

<input type="checkbox" name="acepta">

La validación PHP podría ser:

Código PHP:
<?PHP
if(isset($_POST['acepta'])){
echo 
"procesa el form";
} else {
echo 
"no procesa y mensaje de error";
}
Recordar que un "checkbox" sólo "existe" para PHP si se selecciona. En eso me baso para usar "isset()" simplemente y no tener ni que usar un "value" para el checkbox.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 02/05/2006, 11:43
 
Fecha de Ingreso: enero-2006
Mensajes: 143
Antigüedad: 11 años, 11 meses
Puntos: 0
Vapoc gracias, pero lo que quisiera es que si no está chekado, directamente no enviara el formulario, como se le puede dar esa orden tambien?
  #7 (permalink)  
Antiguo 02/05/2006, 11:46
 
Fecha de Ingreso: enero-2006
Mensajes: 143
Antigüedad: 11 años, 11 meses
Puntos: 0
cluster, respondimos al mismo tiempo...

de todas maneras ya me has aclarado...

meteré la función mail dentro del isset. así si no está chekado no enviará nada...no?
  #8 (permalink)  
Antiguo 02/05/2006, 12:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Garto-la
cluster, respondimos al mismo tiempo...

de todas maneras ya me has aclarado...

meteré la función mail dentro del isset. así si no está chekado no enviará nada...no?
Si, .. así mismo .. o lo "niegas":

if (!isset($_POST['acepta'])){ .... }

En realidad da lo mismo según lo trates.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 02/05/2006, 13:29
Avatar de vapoc  
Fecha de Ingreso: marzo-2005
Ubicación: Bogota colombia
Mensajes: 31
Antigüedad: 12 años, 9 meses
Puntos: 0
pues por eso:
Cita:
<?PHP
if($acepta == yes){
echo "procesa el form";}
else{
echo "no procesa y mensaje de error";}
?>
Donde esta el mensaje de error se coloca el formulario, con eso no tienes que crear varias paginas, teniendo en cuenta que <input type="checkbox" name="acepta">. xD
Es mas sencillo que el iset y todo eso. xD
  #10 (permalink)  
Antiguo 02/05/2006, 13:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por vapoc
pues por eso:

Donde esta el mensaje de error se coloca el formulario, con eso no tienes que crear varias paginas, teniendo en cuenta que <input type="checkbox" name="acepta">. xD
Es mas sencillo que el iset y todo eso. xD
Pero de donde sale el valor "yes" (y sin comillas? será una constante? ..de "acepta"? .. Por qué no usas el array superglobal que corresponda? .. $_POST o $_GET . .así no es seguro lo que haces.

Usa isset() y los arrays superglobales. Es exactamente lo mismo pero en forma "segura".

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 02/05/2006, 13:39
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años, 1 mes
Puntos: 1
Cita:
Iniciado por Garto-la
no funciona... (o no controlo el JS...)

en la etiketa del checkbox pongo el
Código:
onclick=
y después pongo a saco el script que me has pasado? o pongo la etiketa
Código:
 <script language="javascript">
?¿?¿?

claro que no funciona.. el onclick tienes que ponerlo en el button, no en el checkbox, es el button el que hace que se ejecute el formulario, no el checkbox... pon el condigo en el button y ya veras como tira
__________________
ALOZORRO v5.0 (ahora en .es)
  #12 (permalink)  
Antiguo 02/05/2006, 13:42
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años, 1 mes
Puntos: 1
a ver.. seria algo asi:
el formulario lo dejas como lo tengas, y en el para el boton pones:

<input type="submit" name="Submit" value="Submit" onclick="if (nombrecheckbox.checked==false) alert ('Debes seleccionar el checkbox'); return false;" >

que fue lo que te dije la primera vez.. meterlo en el button.. no en el checkbox
__________________
ALOZORRO v5.0 (ahora en .es)
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:47.