
sistema para crear examen online
PHP
Publicado el 30 de Abril del 2009 por Pedro (20 códigos)
90.633 visualizaciones desde el 30 de Abril del 2009
sistema para crear en examen en linea con las siguientes características:
a) debe validar la entrada de usuario usando login y password
b) cuantos enunciados se utilizaran para el examen
c) cada enunciado puede formarse pregunta texto abierta o una imagen precargada
d) cada respuesta debe ser expresada con respuestas múltiples o texto abierto
e) debe ser almacenada en bd
f) al finalizar el examen el sistema debe presentar la imagen, calificación, matricula y nombre
g) deben generar las preguntas aleatoriamente.
a) debe validar la entrada de usuario usando login y password
b) cuantos enunciados se utilizaran para el examen
c) cada enunciado puede formarse pregunta texto abierta o una imagen precargada
d) cada respuesta debe ser expresada con respuestas múltiples o texto abierto
e) debe ser almacenada en bd
f) al finalizar el examen el sistema debe presentar la imagen, calificación, matricula y nombre
g) deben generar las preguntas aleatoriamente.
Comentarios sobre la versión: Versión 1 (54)
Agradecimientos a: AFP quien me aviso del efecto que permitio detectar este error.
Gracias
Gracias.
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in \examen.php on line 29
espero me puedas ayudar a resolver este problema
graciasssssssssssssssssssss
muchas gracias
guillermo y sebastian: sipi es una columna de la tabla corresponde, que relaciona las preguntas con las respuestas, cuando sipi vale 1 indica que esa respuesta es la correcta para esa pregunta.
ernesto: Nunca he trabajado con heidiSQl no que que decirte.
Alejandro: ¿no entiendo que quieres decir?
Mariana: el sistema solo es una demostracion no esta completo con panel de administracion, para ingresar datos en la bd tendrias que hacerlo manual desde consola o desde phpmyadmin
fatima: gracias.
danvarg: pues no me sale ese error, que version de php usas?
A todos: en el codigo va mi direccion de correo con confianza pueden escribirme ya que aqui en los comentarios tenia mucho que no pasaba y no se cuando vuelva a pasar y por lo tanto no me enteraba de sus dudas. Saludos,
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 6 in C:\AppServ\www\sitios\examen2\examen.php on line 59
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in C:\AppServ\www\sitios\examen2\examen.php on line 62
1)
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 9 in C:\AppServ\www\sitios\examen2\examen.php on line 76
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 10 in C:\AppServ\www\sitios\examen2\examen.php on line 76
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 11 in C:\AppServ\www\sitios\examen2\examen.php on line 76
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 15 in C:\AppServ\www\sitios\examen2\examen.php on line 76
primera puedes poner el codigo para poner mas preguntas
segunda puedes poner un contador de tiempo :)
el unico problema es que las respuestas siempre me salen en el mismo orden es decir la primera opcion siempre es la respuesta, mas bien necesito que me pueda mostrar las respuestas correctas aleatorias. mi codigo esta tal cual el tuyo.
a ver si me ayudas con ese tema gracias
aca esta mi codigo
examen.php
$numPregs = 10;
$pcomerciales = 1;
$pefectividad = 1;
echo "<p>Error: No se puede conectar al servidor</p>\n";
}
else{
echo "<p>Error: No se pudo seleccionar la bd</p>\n";
}
echo "<p>Error: Datos de login nulos<br>\n";
}
else{
echo "<p>Autentificacion incorrecta<br>\n";
}
}
else{
echo "<h2> Examen de Cat</h2>\n";
</p>\n";
// seleccionar las preguntas aleatoriamente
$bandera=true;
$bandera=false;
}
}
echo "<p>\n";
echo "\n<br>";
}
echo "</p>\n";
}
}
}
}
adicionalmente desearia saber como puedo agregar diferentes categorias de examen es decir necesito 8 preguntas de un tipo 1 de otro tipo y otra de otro tipo , todas son abiertas pero se diferencias en bd que en ella se agrego una columna llamada forma con t (tecnico) c(comercial) y e(efectividad) segun la pregunta. gracias
=10 preguntas $conexion = mysql_connect("localhost","root",""); if(!$conexion){ echo "
Error: No se puede conectar al servidor
\n"; } else{ $bd = mysql_select_db("examenes",$conexion); if(!$bd){ echo "
Error: No se pudo seleccionar la bd
\n"; } else if($user==null || $pass==null){ echo "
Error: Datos de login nulos
\n"; echo " Regresar al homie ese
\n"; } else{ $nombre = mysql_query("select nombre from usuarios where matricula='$user' and password='$pass'",$conexion); $presento = mysql_query("select presento from usuarios where matricula='$user' and password='$pass'",$conexion); if(mysql_num_rows($nombre)<=0){ echo "
Autentificacion incorrecta
\n"; echo " Regresar al homie ese
\n"; } else if(mysql_result($presento,0,'presento')==1){ echo "
El alumno ".mysql_result($nombre,0,'nombre')." matricula $user ya presento este examen
\n"; echo " Regresar al homie ese
\n"; } else{ echo "
Examen de conocimientos de variedades
\n"; echo "
Bienvenido alumno ".mysql_result($nombre,0,'nombre')."
\n"; // seleccionar las preguntas aleatoriamente $pregsInBD = mysql_query("select count(idp) as 'num' from preguntas",$conexion); $pregsExistentes = mysql_result($pregsInBD,0,'num'); for($r=0;$r<$numPregs;$r++) $vector[$r]=0; for($r=0;$r<$numPregs;$r++){ $alea=rand(1,$pregsExistentes); $bandera=true; for($f=0;$f<$r;$f++) if($vector[$f]==$alea){ $bandera=false; break; } if(!$bandera){ $r--; continue; } $vector[$r]=$alea; } // cargar las preguntas echo '
'."\n"; for($r=0;$r<$numPregs;$r++){ $pregActu = mysql_query("select preguntas from preguntas where idp='$vector[$r]'",$conexion); $txtPregActu = mysql_result($pregActu,0,'preguntas'); $tpPreg = mysql_query("select tipo from preguntas where idp='$vector[$r]'",$conexion); $tipoPreg = mysql_result($tpPreg,0,'tipo'); echo "
\n"; echo "".($r+1).") ".$txtPregActu; if($tipoPreg==1){ // abierta echo ' '."\n"; echo ' '."\n"; } else{ // multiopcion $consOps = mysql_query("select idr from corresponde where idp='$vector[$r]'",$conexion); $numResp = mysql_num_rows($consOps); echo "\n
"; echo ' '."\n"; for($hui=0;$hui<$numResp;$hui++){ $consResp = mysql_query("select respuesta from respuestas where idr='".mysql_result($consOps,$hui,'idr')."'",$conexion); $valor= mysql_result($consResp,0,'respuesta'); echo ''.$valor."
\n"; } } echo "
\n"; } echo ''."\n"; echo ''."\n"; echo '
'."\n"; mysql_Close($conexion); } } } ?>
echo "<p>Error: No se puede conectar al servidor</p>\n";
}
else{
echo "<p>Error: No se pudo seleccionar la bd</p>\n";
}
espero y te resuelva el problema.
gracias
la vda todo sale a la perfeccion y para el chavo que solo dice que solo acepta 400 alumnos lo puedes aumentar si le modificas algunos codigos
y algunos limitantes en la base de datos :)
solo checa que al inicio venga
<?php
eso es lo que hace que falle el codigo examen.php y califica.php
Tengo dos preguntas.
1ro Como migro este examen a php orientado a objeto.
2do Como lo monto sobre un frameworks
gracias por compartir este ejemplo
saludos y me funciona de maravilla
ya logre crear la base de datos, cuando realizo el login no me abre el examen, me sales los mensaje de echo y no el examen:
Error: No se puede conectar al servidor
\n"; } else{ $bd = mysql_select_db("catbampc_examenes",$link); if(!$bd){ echo "
Error: No se pudo seleccionar la bd
\n"; } else if($user==null || $pass==null){ echo "
Error: Datos de login nulos
\n"; } else{ $nombre = mysql_query("select nombre, ape_pat from usuarios where matricula='$user' and password='$pass'",$link); $presento = mysql_query("select presento from usuarios where matricula='$user' and password='$pass'",$link); if(mysql_num_rows($nombre)<=0){ echo "
Autentificacion incorrecta
\n"; } else if(mysql_result($presento,0,'presento')==1){ echo "
El agente ".mysql_result($nombre,0,'nombre')." con rut $user ya presento este examen
\n"; } else{ echo "
explicame o enviame tu proyecto para ver en donde radica mi error.
$consulta = mysql_query("select idr from corresponde where idp=$preg[$cju] and sipi=1",$conexion);
y queda igual.
Cuál utilizo?
Gracias por adelantado!!!
Warning: mysql_result() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\examen\examen.php on line 33
cuando los abro salen los mensajes de echo
"Error: No se puede conectar al servidor
\n"; } else{ $bd = mysql_select_db("catbampc_examenes",$link); if(!$bd){ echo "
Error: No se pudo seleccionar la bd
\n"; } else if($user==null || $pass==null){ echo "
NO ME SALE EL EXAMEN
podrías proporcionarme el código fuente, he estado buscando esto por mucho tiempo.
De antemano muchas gracias.
echo "<p>Autentificacion incorrecta<br>\n";
}
}
else{
echo "<h2> Examen Prueba</h2>\n";
// seleccionar las preguntas aleatoriamente
$bandera=true;
}
// cargar las preguntas
echo "<p>\n";
}
echo "\n<br>";
}
}
echo "</p>\n";
}
}
Ciertamente el código ya no funciona para la versión de php 7 alguien sabe que cambios se pueden hacer para que el código funcione correctamente
Gracias
https://www.lawebdelprogramador.com/codigo/PHP/6784-Sistema-para-crear-examen-online-para-PHP7.html
Alguien Entiende bien como hace cuando carga las preguntas y las respuestas?