Foros del Web » Programando para Internet » PHP »

Ocultar value de input

Estas en el tema de Ocultar value de input en el foro de PHP en Foros del Web. Hola, soy nuevo usuario en el foro aunque tengo tiempo leyendo, se que ya hay varios temas de examenes en php pero esto no tiene ...
  #1 (permalink)  
Antiguo 20/05/2009, 19:09
 
Fecha de Ingreso: mayo-2009
Mensajes: 14
Antigüedad: 14 años, 10 meses
Puntos: 1
Ocultar value de input

Hola, soy nuevo usuario en el foro aunque tengo tiempo leyendo, se que ya hay varios temas de examenes en php pero esto no tiene mucho que ver con los otros.

Desarrolle un codigo en php donde en una pagina llamada examen.php despliego con un while ( $preguntas = mysql_fetch_assoc( $query ) ) todas las preguntas guardadas en una base de datos pero ahi mismo dentro del while pongo un input de tipo hidden al que le daba de value el campo "respuesta" de la base de datos, asi las "opciones" para la pregunta y la "respuesta" se envian a otra pagina llamada evaluar.php donde recupera los valores mediante variables $_POST y los compara para ver si estan bien o mal.

Obvio los alumnos podian ver la respuesta por el codigo fuente de examen.php, queria saber si existe una alternativa para poder ocultar lo que dice value y no se vea en el codigo html, o si me recomiendan hacer algo mas para tomar la respuesta y enviarla a la pagina evaluar.php.

Saludos y gracias de antemano
  #2 (permalink)  
Antiguo 20/05/2009, 19:17
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 8 meses
Puntos: 416
Respuesta: Ocultar value de input

En el campo oculto pon el ID de la pregunta.

Y cuando recuperes, solo tienes que decirle a tu codigo PHP que revise en la base de datos si esta es la respuesta correcta. Haciendo la consulta con el campo oculto.
  #3 (permalink)  
Antiguo 20/05/2009, 19:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Ocultar value de input

mmm... no hay forma de ocultar el valor <input/> simplemente, es imposible!!

es mala idea eso de imprimir las respuestas, otra idea sería que guardes los datos en sesiones...

y así, cuando compares las respuestas... usas los valores de las sesiones, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 20/05/2009, 19:21
 
Fecha de Ingreso: enero-2007
Mensajes: 97
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Ocultar value de input

Hola, una posible solución es encriptar el valor del hidden, por ejemplo:

Código PHP:
<input type="hidden" name="respuestaoculta" value="<?=base64_encode($respuesta)?>" />
y luego cuando se envien los datos a evaluar.php decodificas el valor

Código PHP:
 base64_decode($_POST['respuestaoculta']) 
  #5 (permalink)  
Antiguo 20/05/2009, 19:27
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 8 meses
Puntos: 416
Respuesta: Ocultar value de input

Aun asi, alguien podria decodificarlo.

La opcion mas correcta es la de pateketrueke.
Graba las respuestas en una SESSION.
  #6 (permalink)  
Antiguo 20/05/2009, 19:34
 
Fecha de Ingreso: mayo-2009
Mensajes: 14
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Ocultar value de input

Hola gracias por las rapidas respuestas intente usar la respuesta de phidalgo pero me marca un error y dicen que aun asi se puede sacar, el resto de las respuestas las agradezco pero no se guardar los datos en sesiones, hay alguna pagina del foro donde venga algo parecido? o quizas alguien me pueda explicar aqui.

Saludos y muchas gracias
  #7 (permalink)  
Antiguo 20/05/2009, 19:39
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 14 años, 11 meses
Puntos: 19
Respuesta: Ocultar value de input

Cita:
Iniciado por Ronruby Ver Mensaje
En el campo oculto pon el ID de la pregunta.

Y cuando recuperes, solo tienes que decirle a tu codigo PHP que revise en la base de datos si esta es la respuesta correcta. Haciendo la consulta con el campo oculto.
ronruby te dio una respuesta buena en lugar de mandar el valor de la respuesta, manda el identificador de la pregunta y asi comparas que la respuesta que eligio el usuario es la respuesta correspondientes al id de la pregunta
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
  #8 (permalink)  
Antiguo 20/05/2009, 19:43
 
Fecha de Ingreso: enero-2007
Mensajes: 97
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Ocultar value de input

bueno si es por el riesgo de decodificar entonces usar una encriptación en md5 puesto que es irreversible.
Código PHP:
<input type="hidden" name="respuestaoculta" value="<?=md5($respuesta)?>" />
y al recibir en evaluar.php
Código PHP:
 if( md5($_POST['respuesta_del_usuario']) ==  $_POST['respuestaoculta'] )
 echo 
"esta respuesta esta correcta"
..eso como alternativa rápida a las sesiones. Lo mejor si, seria que evaluar.php rescatara de la BD las respuestas y ahí iniciar el proceso de comparación
  #9 (permalink)  
Antiguo 20/05/2009, 19:53
 
Fecha de Ingreso: mayo-2009
Mensajes: 14
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Ocultar value de input

Cita:
Iniciado por By_George Ver Mensaje
ronruby te dio una respuesta buena en lugar de mandar el valor de la respuesta, manda el identificador de la pregunta y asi comparas que la respuesta que eligio el usuario es la respuesta correspondientes al id de la pregunta
Hola, gracias de nuevo mira este es mi ciclo de la primera pagina:

Código PHP:
while ( $UI mysql_fetch_assoc$query ) ){ 
echo 
"<TR><TD ALIGN = CENTER>" $CONTADOR "</TD>";
echo 
"<TD>" $UI['preg'] . "</FONT></TD>";
echo 
"<TD><select name = resultado[]>"
                                                                
echo 
"<option>Seleccione:</option>"
echo 
"<option>" "a " $UI['a'] . "</option>"
echo 
"<option>" "b " $UI['b'] . "</option>"
echo 
"<option>" "c " $UI['c'] . "</option>"
echo 
"<option>" "d " $UI['d'] . "</option>"
echo 
"<option>" "e " $UI['e'] . "</option>"
echo 
"</select></TD></TR>"

echo 
"<INPUT TYPE = HIDDEN NAME = respuestas[] VALUE = '$UI[answer]'>";
                                                
$CONTADOR++;    

Y despues los tomo en la otra pagina asi:

Código PHP:
$RESULT $_POST['resultado'];
$RESP $_POST['respuestas']; 
Y ya despues los comparo.

El valor de la pregunta vendria siendo $UI['preg'] , a eso le doy un ID y lo mando a la siguiente pagina, y despues ya no se que hacer.

Saludos
  #10 (permalink)  
Antiguo 20/05/2009, 20:39
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 14 años, 11 meses
Puntos: 19
Respuesta: Ocultar value de input

el id lo debe de tener tu registro en la tabla de tu base de datos, debe de ser un campo de tu tabla que sea el identificador o llave primaria de cada pregunta
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
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 03:43.