Proyecto Quizzes

Temas sobre proyectos de código abierto, su promoción, ayuda y todo lo necesario para mantenerlo trabajando.

Moderador: Luli

Avatar de Usuario
t4rr1t0
Ganador CSEL 2011
Ganador CSEL 2011
Mensajes: 357
Registrado: Dom Dic 12, 2010 6:07 pm
Contactar:

Re: Proyecto Quizzes

Mensaje por t4rr1t0 » Sab Sep 24, 2011 11:50 pm

Este es el index, el que genera la lista de quizzes

Código: Seleccionar todo

<?php
include("lib1.phtml");
encabezado("Inicio");

echo <<<FIN
<center>
<img src="logo.png">
<hr width="50%">
<small><small>
Vladimir Z&uacute;&ntilde;iga C
</small></small>
</center>

<form action="./genera.php" method="post" enctype="application/x-www-form-urlencoded">
FIN;

foreach (glob("./quiz/*.quiz") as $nombre_quiz) {
   	$quiz = fopen($nombre_quiz,"r");
	$linea= fgets($quiz,1024);
    	$quiz_array = explode("||",$linea);

echo <<<FIN
	<button type="submit" name="test" value="$nombre_quiz" alt="acceder a $quiz" border="0" width="80%">
	<img src="./iconos/test.png">
	</button>
	$quiz_array[0] <br>
	<small>
	$quiz_array[1] <br>
	<small>	
	$quiz_array[3] <br>
	$quiz_array[4]<br>
	</small></small>
	<hr width="70%">
FIN;
}
echo "</form>";
pie();
?>
¿Hay algo que podría rehacer de forma más elegante?
Salu2
Avatar de Usuario
mcun
Administrador
Administrador
Mensajes: 3888
Registrado: Lun Abr 19, 2010 12:30 am
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)
Contactar:

Re: Proyecto Quizzes

Mensaje por mcun » Sab Sep 24, 2011 11:54 pm

esta muy bien ... que tal los *.php que procesan los form --» evitas sql-inyeccion ? validas datos ?
Los programadores de verdad no documentan. La documentación es para los idiotas que no pueden leer un volcado de memoria.

Trusted Network and Developer | Lee el Reglamento !! |WIKI-EL | Twitter @mr_mcun
Debian + TTY | ArchLinux + awesome | openSUSE + Gnome-Shell | Linux User #508809
Avatar de Usuario
t4rr1t0
Ganador CSEL 2011
Ganador CSEL 2011
Mensajes: 357
Registrado: Dom Dic 12, 2010 6:07 pm
Contactar:

Re: Proyecto Quizzes

Mensaje por t4rr1t0 » Dom Sep 25, 2011 12:03 am

No uso bases de datos, asi que de haber inyección no sería sql.

Este es el que procesa el ,quiz:

Código: Seleccionar todo

<?php
@session_start(); 
$datos = $_POST;
$quiz_generar = array_pop($datos);

$_SESSION["correctas"]=$correctas;
$_SESSION["tcorrectas"]=$t_correctas;
$_SESSION["tpreguntas"]=$t_correctas;

$archivo = fopen($quiz_generar,"r");
$linea = fgets($archivo,1024);
$datos_quiz=explode("||",$linea);


include("lib1.phtml");
encabezado($datos_quiz[0]);
//Datos Quiz Actual
echo<<<FIN
	<img src="./iconos/test.png">
	$datos_quiz[0]<br>
	<small><small>
	$datos_quiz[1]<br>
	$datos_quiz[2]<br>
	$datos_quiz[3]<br>
	</small></small>
	<hr>
FIN;

//Inicio Formulario
echo "<form action=\"./revisar.php\" method=\"post\" enctype=\"application/x-www-form-urlencoded\">";

$contador=0;

//generar preguntas
while ($linea=fgets($archivo,1024)){

$contador++;

$pregunta=explode("||",$linea);
//extrae la pregunta
$texto_pregunta=array_shift($pregunta);
//desordena las respuestas
shuffle($pregunta);
array_push($pregunta,"paso");
	echo "<hr>\n";
	echo $contador,"-&nbsp;&nbsp;",$texto_pregunta,"<br><br>\n<small>\n";
	$t_preguntas.=$texto_pregunta;
	$t_preguntas.="|";
	
	$cuentapregunta=0;
foreach ($pregunta as $respuesta){
	//valor de cada respuesta (para comprobacion)
	$cuentapregunta++;
	if (preg_match("/\&\%/",$respuesta)){
		$respuesta = str_replace("&%","",$respuesta);
		$correctas.=$cuentapregunta;
		$correctas.="|";
		$t_correctas.=$pregunta;
		$t_correctas.="|";
	}

	echo "<input name=\"p$contador\" type=\"radio\"checked value=\"$cuentapregunta\">";
	echo $respuesta,"<br>\n";
}
	
echo "</small>\n";
}//fin while
echo<<<FIN
	<hr>
	<center>
	<button type="submit">REVISAR</button>
	</center>
	</form>
FIN;

pie();

?>
Avatar de Usuario
mcun
Administrador
Administrador
Mensajes: 3888
Registrado: Lun Abr 19, 2010 12:30 am
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)
Contactar:

Re: Proyecto Quizzes

Mensaje por mcun » Dom Sep 25, 2011 12:26 am

no veo que cierres el puntero fclose por lo demás se ve bien
Los programadores de verdad no documentan. La documentación es para los idiotas que no pueden leer un volcado de memoria.

Trusted Network and Developer | Lee el Reglamento !! |WIKI-EL | Twitter @mr_mcun
Debian + TTY | ArchLinux + awesome | openSUSE + Gnome-Shell | Linux User #508809
Avatar de Usuario
t4rr1t0
Ganador CSEL 2011
Ganador CSEL 2011
Mensajes: 357
Registrado: Dom Dic 12, 2010 6:07 pm
Contactar:

Re: Proyecto Quizzes

Mensaje por t4rr1t0 » Lun Sep 26, 2011 4:46 am

He aplicado varias de las sugerencias que me han dado, a ver que les parece como va el asunto:
http://focaclipart.net23.net/otros/testmatico/

Salu2
Avatar de Usuario
Juanp_1982
Forista Mayor
Forista Mayor
Mensajes: 913
Registrado: Dom Ago 13, 2006 7:00 am
Ubicación: Toronto, Canada

Re: Proyecto Quizzes

Mensaje por Juanp_1982 » Lun Sep 26, 2011 5:01 am

funcionalmente no le veo ningun error a simple vista ahora bien que has pensado hacer con la parte estetica??? (a mi como programador esta es la parte mas dificil!!! jajajaja)
La Hora Mas oscura es una antes de que Amanesca (Anonimo)
Avatar de Usuario
Juanp_1982
Forista Mayor
Forista Mayor
Mensajes: 913
Registrado: Dom Ago 13, 2006 7:00 am
Ubicación: Toronto, Canada

Re: Proyecto Quizzes

Mensaje por Juanp_1982 » Lun Sep 26, 2011 5:21 am

funcionalmente no le veo ningun error a simple vista ahora bien que has pensado hacer con la parte estetica??? (a mi como programador esta es la parte mas dificil!!! jajajaja)
La Hora Mas oscura es una antes de que Amanesca (Anonimo)
Avatar de Usuario
victorhck
Forista Mayor
Forista Mayor
Mensajes: 657
Registrado: Mié Feb 09, 2011 11:43 am
Ubicación: /HOME
Contactar:

Re: Proyecto Quizzes

Mensaje por victorhck » Lun Sep 26, 2011 3:12 pm

Me presentó los resultados y en las últimas respuestas creo que hay algo que está descolocado, te pongo el texto que me puso:

Código: Seleccionar todo

PREGUNTA 13 :¿Cuál de los siguientes comandos utiliza tuberias?
                      Respuesta Correcta:cat archivo 
PREGUNTA 14 :Configurador automatico de interfaz gráfica en Slackware:
                      Respuesta Correcta:grep "texto" 
PREGUNTA 15 :Una tarea programada en contrab con la siguiente linea "*/30 * * * 1 comando" se ejecuta:
                      Respuesta Correcta:xorgsetup 
PREGUNTA 16 :Para eliminar un usuario, aunque se encuentre logueado, se utiliza el comando:
                      Respuesta Correcta:Todos los lunes cada media hora
Las respuestas seran las correctas, pero no estan donde deben.
Saludos... :wink:

Añado: Bueno yo presentaría la respuesta que dió el usuario y si es incorrecta señalaría cual es la buena (para comparar...) y en los resultados añadiría un botón para regresar a hacer más tests si se desea... Opinión personal...
Registered user: #528067
openSUSE Tumbleweed + KDE

-- mi blog --
Avatar de Usuario
t4rr1t0
Ganador CSEL 2011
Ganador CSEL 2011
Mensajes: 357
Registrado: Dom Dic 12, 2010 6:07 pm
Contactar:

Re: Proyecto Quizzes

Mensaje por t4rr1t0 » Lun Sep 26, 2011 3:48 pm

Corregido lo del desfase de respuestas (era culpa de un delimitador conflictivo).
Salu2
MetTxin
Forista Medio
Forista Medio
Mensajes: 332
Registrado: Mié Abr 27, 2011 11:32 am

Re: Proyecto Quizzes

Mensaje por MetTxin » Lun Sep 26, 2011 5:52 pm

He hecho el de hardware, para ver cuántas fallaba :D

Esta vez lo he visto mucho más amigable y educativo el resultado, (he aprendido cosas)
Avatar de Usuario
victorhck
Forista Mayor
Forista Mayor
Mensajes: 657
Registrado: Mié Feb 09, 2011 11:43 am
Ubicación: /HOME
Contactar:

Re: Proyecto Quizzes

Mensaje por victorhck » Lun Sep 26, 2011 9:07 pm

Despues de hacer el de Hardware, reviso los resultados y me dan 0 respuestas correctas y 0 incorrectas ¿?¿?¿? :?: Aunque seguro que acerte todas :^o :P
Sale al inicio de la página un error php:
Warning: Division by zero in /home/a3632061/public_html/otros/testmatico/revisar.php on line 37
Saludos...
Registered user: #528067
openSUSE Tumbleweed + KDE

-- mi blog --
Avatar de Usuario
t4rr1t0
Ganador CSEL 2011
Ganador CSEL 2011
Mensajes: 357
Registrado: Dom Dic 12, 2010 6:07 pm
Contactar:

Re: Proyecto Quizzes

Mensaje por t4rr1t0 » Lun Oct 03, 2011 11:51 pm

victorhck escribió:Despues de hacer el de Hardware, reviso los resultados y me dan 0 respuestas correctas y 0 incorrectas ¿?¿?¿? :?: Aunque seguro que acerte todas :^o :P
Sale al inicio de la página un error php:
Warning: Division by zero in /home/a3632061/public_html/otros/testmatico/revisar.php on line 37
Saludos...
He tratado de replicar el error y no lo he logrado ¿Hiciste algo en especial cuando te apareció el error? ¿Puedes provocarlo nuevamente?

Salu2
Editado: Lo he cambiado a una nueva ubicación y le he hecho algunos retoques:
http://contesta.net78.net/index.php
A ver que les parece
Salu2
Avatar de Usuario
victorhck
Forista Mayor
Forista Mayor
Mensajes: 657
Registrado: Mié Feb 09, 2011 11:43 am
Ubicación: /HOME
Contactar:

Re: Proyecto Quizzes

Mensaje por victorhck » Mar Oct 04, 2011 6:38 am

Perdona no respondí. No no hice nada raro. Contesté y al comprobar me dió ese error.
Funciona el enlace?? me aparece una página de 000webhost que estre otras cosas me dice:
You are seeing this page because the system administrator of 000webhost.com is currently checking this website for malicious content. This redirect page will be removed once we finish manually checking all files on this account. Since we check over 100 websites per day, it can take about 2-4 hours to complete. If you are the owner of this website, you will get an email confirmation once it's done. If you are a visitor, please come back later.
Saludos...
Registered user: #528067
openSUSE Tumbleweed + KDE

-- mi blog --
Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1905
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: Proyecto Quizzes

Mensaje por hipersayan_x » Mar Oct 04, 2011 3:40 pm

Está mal el orden de las respuestas, parece que hubiera alguna pregunta oculta o algo así:
PREGUNTA 14 :Configurador automatico de interfaz gráfica en Slackware:
Respuesta Correcta:grep "texto"

PREGUNTA 15 :Una tarea programada en contrab con la siguiente linea "*/30 * * * 1 comando" se ejecuta:
Respuesta Correcta:xorgsetup

PREGUNTA 16 : Para eliminar un usuario, aunque se encuentre logueado, se utiliza el comando:
Respuesta Correcta:Todos los lunes cada media hora
Al ./iconos/test.png ponelo como enlace al test o hace que el puntero del ratón cambie de forma cuando se pose sobre ella.
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net
Avatar de Usuario
t4rr1t0
Ganador CSEL 2011
Ganador CSEL 2011
Mensajes: 357
Registrado: Dom Dic 12, 2010 6:07 pm
Contactar:

Re: Proyecto Quizzes

Mensaje por t4rr1t0 » Mar Oct 04, 2011 4:20 pm

Gracias por sus comentarios.

victorhck: El sistio si esta funcionando, solo que, como lo dice el texto que citaste, me toco revisión por parte del hosting.

hipersayan_x: Gracias por avisarme del error de aquella pregunta, lo que ocurría es que la pregunta incluía una barra vertical (tubería) el cual es el símbolo que use como separador con explode en una cadena , por o que la respuesta se dividia en dos.
Sobre lo del icono ./iconos/test,png opté por añadirle un estilo de cursor a todo el botón. Ahora solo me queda testear como funciona eso en distintos navegadores.

Salu2
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje