Ayuda validacion de preguntas en php
Publicado por Lizbeth (1 intervención) el 28/07/2017 05:50:35
Hola a todos, espero me puedan ayudar mi problema es este:
He creado un sistema de evaluación en php, pero al momento de calificar me aparece el error de que una pregunta o mas preguntas no han sido respondidas en caso de que se olvide contestar una, entonces mi pregunta es... ¿Cómo puedo crear una alerta para advertir al usuario que deba responder todas las preguntas?, o ¿cómo calificar esa pregunta que no ha sido respondida? Este es el codigo espero me puedan ayudar... Gracias
<?php //enlace y definicion de las variables
$user = (isset($_POST['user'])?$_POST['user']:NULL);
$pass = (isset($_POST['pss'])?$_POST['pss']:NULL);
$conec = mysql_connect("localhost", "root", "");
$numpreg= 20; //verificar si el numero de preguntas en aumento las califica
mysql_set_charset('utf8'); //detecta acentos y signos
if(!$conec){
echo "<p>Error: No se puede conectar al servidor</p>\n";
}
else{
$base = mysql_select_db("examenes",$conec);
if(!$base){
echo "<p>Error: No se pudo seleccionar la bd</p>\n";
}
else if($user==null || $pass==null){
echo "<p>Error: Datos de login nulos<br>\n";
echo "<a href=\"Index.php\"> Regresar</a> </p>\n";
}
else{
$nombre = mysql_query("SELECT nombre from usuarios where matricula='$user' and password='$pass'",$conec);
$presento = mysql_query("SELECT presento from usuarios where matricula='$user' and password='$pass'",$conec);
if(mysql_num_rows($nombre)<=0){
echo "<p>DATOS ERRONEOS<br>\n";
echo "<a href=\"index.php\"> Regresar</a> </p>\n";
}
else if(mysql_result($presento,0,'presento')==1){
echo "<p>El alumno ".mysql_result($nombre,0,'nombre')." matricula $user ya presento este examen<br>\n";
echo "<a href=\"Index.php\"> Regresar</a> </p>\n";
}
else{
echo "<h2> Examen de conocimientos</h2>\n";
echo "<p>Bienvenido alumno ".mysql_result($nombre,0,'nombre')."</p>\n";
$pregsInBD = mysql_query("SELECT count(idp) AS 'num' FROM preguntas",$conec);
$pregsExistentes = mysql_result($pregsInBD,0,'num');
for($r=0;$r<$numpreg;$r++) $vector[$r]=0;
for($r=0;$r<$numpreg;$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 '<form action="califica.php" method="post">'."\n";
for($r=0;$r<$numpreg;$r++)
{
$pregActu = mysql_query("SELECT preguntas from preguntas where idp='$vector[$r]'",$conec);
$txtPregActu = mysql_result($pregActu,0,'preguntas');
$tpPreg = mysql_query("SELECT tipo from preguntas where idp='$vector[$r]'",$conec);
$tipoPreg = mysql_result($tpPreg,0,'tipo');
echo "<p>\n";
echo "".($r+1).") ".$txtPregActu;
if($tipoPreg==1){ // abierta
echo ' <input type="text" name="'.$r.'">'."\n";
echo ' <input type="hidden" name="preg'.($r+1).'" value="'.$vector[$r].'">'."\n";
}
else{ // multiopcion
$corre = mysql_query("SELECT idr from corresp1 where idp='$vector[$r]'",$conec);
$numResp = mysql_num_rows($corre);
echo "\n<br>";
echo ' <input type="hidden" name="preg'.($r+1).'" value="'.$vector[$r].'">'."\n";
for($hui=0;$hui<$numResp;$hui++){
$consResp = mysql_query("SELECT respuesta from respuestas where idr='".mysql_result($corre,$hui,'idr')."'",$conec);
$valor= mysql_result($consResp,0,'respuesta');
echo '<input type="radio" name="'.$r.'" value="'.$valor.'">'.$valor."<br>\n";
}
}
echo "</p>\n";
}
echo '<input type="hidden" name="mat" value="'.$user.'">'."\n";
//aqui debe de ir la alerta
echo '<input type="submit" value="Calificar">'."\n";
echo '</form>'."\n";
mysql_Close($conec);
}}}
He creado un sistema de evaluación en php, pero al momento de calificar me aparece el error de que una pregunta o mas preguntas no han sido respondidas en caso de que se olvide contestar una, entonces mi pregunta es... ¿Cómo puedo crear una alerta para advertir al usuario que deba responder todas las preguntas?, o ¿cómo calificar esa pregunta que no ha sido respondida? Este es el codigo espero me puedan ayudar... Gracias
<?php //enlace y definicion de las variables
$user = (isset($_POST['user'])?$_POST['user']:NULL);
$pass = (isset($_POST['pss'])?$_POST['pss']:NULL);
$conec = mysql_connect("localhost", "root", "");
$numpreg= 20; //verificar si el numero de preguntas en aumento las califica
mysql_set_charset('utf8'); //detecta acentos y signos
if(!$conec){
echo "<p>Error: No se puede conectar al servidor</p>\n";
}
else{
$base = mysql_select_db("examenes",$conec);
if(!$base){
echo "<p>Error: No se pudo seleccionar la bd</p>\n";
}
else if($user==null || $pass==null){
echo "<p>Error: Datos de login nulos<br>\n";
echo "<a href=\"Index.php\"> Regresar</a> </p>\n";
}
else{
$nombre = mysql_query("SELECT nombre from usuarios where matricula='$user' and password='$pass'",$conec);
$presento = mysql_query("SELECT presento from usuarios where matricula='$user' and password='$pass'",$conec);
if(mysql_num_rows($nombre)<=0){
echo "<p>DATOS ERRONEOS<br>\n";
echo "<a href=\"index.php\"> Regresar</a> </p>\n";
}
else if(mysql_result($presento,0,'presento')==1){
echo "<p>El alumno ".mysql_result($nombre,0,'nombre')." matricula $user ya presento este examen<br>\n";
echo "<a href=\"Index.php\"> Regresar</a> </p>\n";
}
else{
echo "<h2> Examen de conocimientos</h2>\n";
echo "<p>Bienvenido alumno ".mysql_result($nombre,0,'nombre')."</p>\n";
$pregsInBD = mysql_query("SELECT count(idp) AS 'num' FROM preguntas",$conec);
$pregsExistentes = mysql_result($pregsInBD,0,'num');
for($r=0;$r<$numpreg;$r++) $vector[$r]=0;
for($r=0;$r<$numpreg;$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 '<form action="califica.php" method="post">'."\n";
for($r=0;$r<$numpreg;$r++)
{
$pregActu = mysql_query("SELECT preguntas from preguntas where idp='$vector[$r]'",$conec);
$txtPregActu = mysql_result($pregActu,0,'preguntas');
$tpPreg = mysql_query("SELECT tipo from preguntas where idp='$vector[$r]'",$conec);
$tipoPreg = mysql_result($tpPreg,0,'tipo');
echo "<p>\n";
echo "".($r+1).") ".$txtPregActu;
if($tipoPreg==1){ // abierta
echo ' <input type="text" name="'.$r.'">'."\n";
echo ' <input type="hidden" name="preg'.($r+1).'" value="'.$vector[$r].'">'."\n";
}
else{ // multiopcion
$corre = mysql_query("SELECT idr from corresp1 where idp='$vector[$r]'",$conec);
$numResp = mysql_num_rows($corre);
echo "\n<br>";
echo ' <input type="hidden" name="preg'.($r+1).'" value="'.$vector[$r].'">'."\n";
for($hui=0;$hui<$numResp;$hui++){
$consResp = mysql_query("SELECT respuesta from respuestas where idr='".mysql_result($corre,$hui,'idr')."'",$conec);
$valor= mysql_result($consResp,0,'respuesta');
echo '<input type="radio" name="'.$r.'" value="'.$valor.'">'.$valor."<br>\n";
}
}
echo "</p>\n";
}
echo '<input type="hidden" name="mat" value="'.$user.'">'."\n";
//aqui debe de ir la alerta
echo '<input type="submit" value="Calificar">'."\n";
echo '</form>'."\n";
mysql_Close($conec);
}}}
Valora esta pregunta
0