Foros del Web » Programando para Internet » PHP »

Pasar variables desde formularios web

Estas en el tema de Pasar variables desde formularios web en el foro de PHP en Foros del Web. Tengo un formulario: <form method="get" action = "intermedio.php"> ¿Que echas en falta en la web?<br> <input type ="hidden" name="archivo" value="cuestionario.txt"> <input type ="radio" name="opcion" value ...
  #1 (permalink)  
Antiguo 22/07/2003, 17:59
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 14 años, 4 meses
Puntos: 0
Pasar variables desde formularios web

Tengo un formulario:

<form method="get" action = "intermedio.php">
¿Que echas en falta en la web?<br>
<input type ="hidden" name="archivo" value="cuestionario.txt">
<input type ="radio" name="opcion" value ="0">Mas contenidos<br>
<input type ="radio" name="opcion" value ="1">Un mejor diseño<br>
<input type ="radio" name="opcion" value ="2">Las dos cosas<br>
<input type="submit" name="boton" value="Vota">
<input type="submit" name="boton" value="Ver">
</form>

En "intermedio.php" hay una serie de funciones que abren un archivo (cuestionario.txt), leen un número y le suman 1, guardando otra vez el archivo.

Todo funciona bien cuando marco algún radiobutton, pero si no marco ninguno y le doy a enviar me dice que la variable "opcion" no tiene valor (cosa que es cierta) y yo quería controlar eso, es decir, en caso de que no tuviera valor quería ver el resultado de la votación sin más.

Existe una función para comprobar si una variable tiene valor (IS_NULL):

Al principio del intermedio.php comprobamos si la variable opcion tiene valor:

if (IS_NULL ($opcion)) {
echo "No has seleccionado nada";
}


Muestra el mensaje pero me sigue diciendo que $opcion no tiene valor.

Alguien puede decirme cómo controlar mejor esto?.

Aquí tenéis el ejemplo.

En el servidor le deben de tener desactivado el informe de errores, de manera que no devuelve el error.

Me he fijado en que si votas en blanco suma 1 a la primera opción.

A veces dá un error 404, volvedlo a intentar, el script se encuentra en el servidor.

Saludos y gracias.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
  #2 (permalink)  
Antiguo 22/07/2003, 18:21
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

El problema que tienes no es que no tenga valor la variable, sino que no se ha creado. Si un campo de un formulario no le das un valor, PHP no crea esa variable. La funcion para comprobar si existe o no la variable es isset() (www.php.net/isset).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 23/07/2003, 11:42
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 14 años, 4 meses
Puntos: 0
Gracias.

Gracias josemi, ahora tengo una nueva duda que dejaré al principio del foro.

Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
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 18:53.