Comunidad de diseño web y desarrollo en internet online

Examen en PHP, almacenamiento de la pagina y muestra de los resultados

Citar            
MensajeEscrito el 01 Jun 2015 05:43 pm
Antes quisiera saludar a todos soy nuevo en este foro, el motivo para escribir este tema es el siguiente:
Estoy empezando a hacer mis pininos con HTML y PHP, con lo que me disculpo si no utilizo la terminologia correcta, estoy realizando un examen en HTML con algo de PHP para un proyecto, no estoy utilizando una base de datos, simplemente mediante codigo php incrustado llamo el valor del radio de cada pregunta multiplicado por 10 (al ser 10 preguntas el valor total sera de 100) y en la parte superior mando un mensaje de la calificacion total, la cuestion es que al momento de terminar el examen:

1. Que los radio permanezcan seleccionados, ya que al hacer click en el boton para completarlo, estas se vuelven a desmarcar.

2. Me almacene la pagina del examen directamente en una carpeta dentro del equipo con una ruta ya predefinida, pero convertido directamente en un pdf.

3. En la impresion de la calificacion, que esta cambie de color dependiendo de cual fue el resultado, que solo seran dos colores (de 60 puntos para abajo color rojo, en adelante verde). Este es el codigo (perdonen, se que esta un "poquitín" largo :lol: )

Código HTML :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<div>
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Evaluacion Seguridad</title>
  <link href="../css/ExamStyle.css" rel="stylesheet" type="text/css" />
  </head>
    
  <body>
  <div class="eval">
    <p align="center">&nbsp;</p>
    <p align="center">
    <h2 align="center">Seguridad e Higiene Industrial</h2>
    </p>
    <p align="center">Por favor seleccione las preguntas que considere correctas</p>
    
        <?php
   if(isset($_POST['aceptar'])){
   $r1=$_POST['pr1'];
   $r2=$_POST['pr2'];
   $r3=$_POST['pr3'];
   $r4=$_POST['pr4'];
   $r5=$_POST['pr5'];
   $r6=$_POST['pr6'];
   $r7=$_POST['pr7'];
   $r8=$_POST['pr8'];
   $r9=$_POST['pr9'];
   $r10=$_POST['pr10'];
   
   $calif=($r1+$r2+$r3+$r4+$r5+$r6+$r7+$r8+$r9+$r10)*10;
   printf("<h4>Su calificacion fue de: $calif </h4>");
   }
    ?>
    
    <form method="post" action="">
      <div align="center">
        <table width="1131" border="1" cellspacing="0">
          <tr>
            <th colspan="2" scope="col" bgcolor="goldenrod"><div align="left">1. ¿Cuáles son los colores y el significado de cada uno en el rombo de seguridad?</div></th>
          </tr>
          <tr>
            <td colspan="2"> </td>
          </tr>
          <tr>
            <td width="560"><input type="radio" name="pr1" value="1" >
            Rojo=Inflamabilidad, Azul=Salud, Amarillo=Reactividad, Blanco=Otros riesgos</td>
            <td width="561"><input type="radio" name="pr1" value="0" />
            Rojo=Inflamabilidad, Azul=Salud, Amarillo=Otros riesgos, Blanco=Reactividad</td>
          </tr>
          <tr>
            <td><input type="radio" name="pr1" value="0" />
            Rojo=Salud, Azul=Inflamabilidad, Amarillo=Reactividad, Blanco=Otros riesgos</td>
            <td><input type="radio" name="pr1" value="0" />
            Rojo=Reactividad, Azul=Salud, Amarillo=Inflamabilidad, Blanco=Otros riesgos</td>
          </tr>
        </table>
        
        <table width="1132" border="1" cellspacing="0">
          <tr>
            <th colspan="2" scope="col" bgcolor="goldenrod"><div align="left">2. ¿Qué tipo de riesgos existen?</div></th>
          </tr>
          <tr>
            <td colspan="2"> </td>
          </tr>
          <tr>
            <td width="244"><input type="radio" name="pr2" value="0" />
            Radiactivos, físicos y químicos</td>
            <td width="244"><input type="radio" name="pr2" value="0" />
            Sólidos, químicos y biológicos</td>
          </tr>
          <tr>
            <td><input type="radio" name="pr2" value="1" />
            Físicos, químicos y biológicos</td>
            <td><input type="radio" name="pr2" value="0" /> 
            Químicos, industriales y biológicos</td>
          </tr>
        </table>
        
        <table width="1133" border="1" cellspacing="0">
          <tr>
            <th colspan="2" scope="col" bgcolor="goldenrod"><div align="left">3. ¿En que año aparece el reglamento Federal de Seguridad, Higiene y Medio Ambiente de trabajo?</div></th>
          </tr>
          <tr>
            <td colspan="2"></td>
          </tr>
          <tr>
            <td width="244"><input type="radio" name="pr3" value="0" />
              1970</td>
            <td width="246"><input type="radio" name="pr3" value="0" />
              1890</td>
          </tr>
          <tr>
            <td><input type="radio" name="pr3" value="1" />
              1997</td>
            <td><input type="radio" name="pr3" value="0" />
              1500</td>         
          </tr>
        </table>
        
           <table width="1131" border="1" cellspacing="0">
          <tr>
            <th colspan="2" scope="col" bgcolor="goldenrod"><div align="left">4. ¿A que tipo de fuego pertenecen los siguientes materiales?: papel, madera, textiles o basura</div></th>
          </tr>
          <tr>
            <td colspan="2"> </td>
          </tr>
          <tr>
            <td width="560"><input type="radio" name="pr4" value="0" >
            Clase B</td>
            <td width="561"><input type="radio" name="pr4" value="1" />
            Clase A</td>
          </tr>
          <tr>
            <td><input type="radio" name="pr4" value="0" />
            Clase C</td>
            <td><input type="radio" name="pr4" value="0" /> 
            Clase D</td>
          </tr>
        </table>
        
        <table width="1132" border="1" cellspacing="0">
          <tr>
            <th colspan="2" scope="col" bgcolor="goldenrod"><div align="left">5. Normas Mexicanas sobre seguridad e higiene:</div></th>
          </tr>
          <tr>
            <td colspan="2"> </td>
          </tr>
          <tr>
            <td width="244"><input type="radio" name="pr5" value="0" />
            OHSAS18001 y OHSAS18002</td>
            <td width="244"><input type="radio" name="pr5" value="1" />
            NOM-001-STPS-1999 y NOM-005-STPS-1998</td>
          </tr>
          <tr>
            <td><input type="radio" name="pr5" value="0" />
            ISO 9000 e ISO 14000</td>
            <td><input type="radio" name="pr5" value="0" />
            ISO 13485 e ISO/IEC 15444</td>
          </tr>
        </table>
        
        <table width="1133" border="1" cellspacing="0">
          <tr>
            <th colspan="2" scope="col" bgcolor="goldenrod"><div align="left">6. Clasificacion de los agentes químicos:</div></th>
          </tr>
          <tr>
            <td colspan="2"></td>
          </tr>
          <tr>
            <td width="244"><input type="radio" name="pr6" value="1" />
            Volátiles, sólidos, líquidos y gaseosos</td>
            <td width="246"><input type="radio" name="pr6" value="0" />
            Físicos, volátiles, acústicos y líquidos</td>
          </tr>
          <tr>
            <td><input type="radio" name="pr6" value="0" />
            Físicos, liquidos, acústicos y gaseosos</td>
            <td><input type="radio" name="pr6" value="0" />
            Sólidos, líquidos, gaseosos, vapores</td>         
          </tr>
        </table>
        
               <table width="1133" border="1" cellspacing="0">
          <tr>
            <th colspan="2" scope="col" bgcolor="goldenrod"><div align="left">7. Es la ciencia de la anticipación, la identificación, la evaluación y el control de los riesgos que se originan en el lugar de trabajo o en relación con él y que pueden poner en peligro la salud</div></th>
          </tr>
          <tr>
            <td colspan="2"></td>
          </tr>
          <tr>
            <td width="244"><input type="radio" name="pr7" value="1" />
            Seguridad Industrial</td>
            <td width="246"><input type="radio" name="pr3" value="0" />
            Higiene industrial</td>
          </tr>
          <tr>
            <td><input type="radio" name="pr7" value="0" />
            Primeros Auxilios</td>
            <td><input type="radio" name="pr7" value="0" />
            Servicios Médicos</td>         
          </tr>
        </table>
        
               <table width="1133" border="1" cellspacing="0">
          <tr>
            <th colspan="2" scope="col" bgcolor="goldenrod"><div align="left">8. Es la disciplina que se encarga del diseño de lugares de trabajo,   herramientas y tareas, de modo que coincidan con las características   fisiológicas, anatómicas, psicológicas y las capacidades del trabajador</div></th>
          </tr>
          <tr>
            <td colspan="2"></td>
          </tr>
          <tr>
            <td width="244"><input type="radio" name="pr8" value="0" />
            Kinesiología </td>
            <td width="246"><input type="radio" name="pr8" value="0" />
            Mecánica</td>
          </tr>
          <tr>
            <td><input type="radio" name="pr8" value="0" />
            Biomecánica</td>
            <td><input type="radio" name="pr8" value="0" />
            Ergonomía</td>         
          </tr>
        </table>
               <table width="1133" border="1" cellspacing="0">
          <tr>
            <th height="43" colspan="2" scope="col" bgcolor="goldenrod"><div align="left">9. Son aquellos que se manifiestan através de una acción agresiva,por contacto de las personas con elementos materiales,que causan lesiones de carácter traumático</div></th>
          </tr>
          <tr>
            <td colspan="2"></td>
          </tr>
          <tr>
            <td width="244"><input type="radio" name="pr9" value="0" />
            Riesgo Mécanico</td>
            <td width="246"><input type="radio" name="pr9" value="1" />
            Riesgo Físico</td>
          </tr>
          <tr>
            <td><input type="radio" name="pr9" value="0" />
            Riesgo Químico</td>
            <td><input type="radio" name="pr9" value="0" />
            Riesgo Biológico</td>         
          </tr>
        </table>
               <table width="1133" border="1" cellspacing="0">
          <tr>
            <th colspan="2" scope="col" bgcolor="goldenrod"><div align="left">10. ¿Cuál es el símbolo de peligro biológico?</div></th>
          </tr>
          <tr>
            <td colspan="2"></td>
          </tr>
          <tr>
            <td width="244"><input type="radio" name="pr10" value="0" />
            <img src="Imagenes/electricalRisk.jpg" width="40" height="40" /></td>
            <td width="246"><input type="radio" name="pr10" value="0" />
            <img src="Imagenes/biohazard.jpg" width="42" height="46" /></td>
          </tr>
          <tr>
            <td><input type="radio" name="pr10" value="1" />
            <img src="Imagenes/radiation.gif" width="30" height="32" /></td>
            <td><input type="radio" name="pr10" value="0" />
            <img src="Imagenes/alert.png" width="41" height="" /></td>         
          </tr>
        </table>
        <p></p>
        <p>
          <input type="submit" name="aceptar" value="Aceptar" >
          <input type="submit" name="guardar" value="Guardar">
        </p>
      </div>
    </form>

  </div>
  
  
  </body>
  </html>
</div>


No puedo subir la imagen de como es la interfaz (la verdad, no se como subirla :P ya que esta en mi ordenador y me especifica la url, si alguien sabe como hacerlo, tambien se lo agrdecería mucho). Espero me haya explicado bien, y agradezco la ayuda que me puedan propocionar de antemano, disculpando si en algun momento no quedo claro mi planteamiento o el título del tema no definió el concepto, saludos :)

Por Nihilanth

5 de clabLevel



Genero:Masculino  

Aprendiz en Programacion

firefox
Citar            
MensajeEscrito el 01 Jun 2015 09:53 pm
La verdad es que no te explicaste muy bien, y todo el código que colocas nadie lo va a leer, pues tiene cosas que no se utilizan y nada que ver con tu problema.

Sugiero que vuelvas a escribir tu problema y te enfoques solo a la parte que no puedes solucionar.

Saludos.

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

chrome
Citar            
MensajeEscrito el 02 Jun 2015 05:21 pm
Ok, si me imagine que no estaba muy bien explicado, pero suspuse podría servir de algo :P, ok solo me enfocaré en la problemática, agradezco la correción. Saludos

Por Nihilanth

5 de clabLevel



Genero:Masculino  

Aprendiz en Programacion

firefox
Citar            
MensajeEscrito el 02 Jun 2015 06:43 pm
Pongo aqui el problema ya sintetizado (no se si deba abrir un nuevo tema). Realize una plantilla de examen en php, la interfaz ya esta relizada y realiza la funcion funcion, no estoy utilizando ninguna base de datos, mando a llamar los resultados con este codigo:

Código PHP :

if(isset($_POST['aceptar'])){
   $r1=$_POST['pr1'];
   $r2=$_POST['pr2'];
   $r3=$_POST['pr3'];
   $r4=$_POST['pr4'];
   $r5=$_POST['pr5'];
   $r6=$_POST['pr6'];
   $r7=$_POST['pr7'];
   $r8=$_POST['pr8'];
   $r9=$_POST['pr9'];
   $r10=$_POST['pr10'];
   
   $calif=($r1+$r2+$r3+$r4+$r5+$r6+$r7+$r8+$r9+$r10)*10;
   printf("<h4>Su calificacion fue de: $calif </h4>");
   }


y la imprime en la parte superior, de esta seccion lo unico que deseo es que dependiendo del resultado cambie de color la calificacion. Se que es con un if, la estructura (segun lo que investigue) vendria siendo if($calif<60...) y es aqui donde no se como especificar la instruccion para que cambie de color.

Mi otro problema (un poquito más complejo) es que este examen lo deseo almacenar dentro del equipo donde se realizo, pero en una ruta ya específica, es decir, al dar click en terminar que esta se convierta en PDF y se guarde directamente en una carpeta creada previamente.

Reitero que apenas comienzo a programar en PHP y quiero aprender, he intentado documentarme pero a veces termino confundido, agradezco la ayuda y los consejos que me puedan proporcionar. Saludos

Por Nihilanth

5 de clabLevel



Genero:Masculino  

Aprendiz en Programacion

firefox
Citar            
MensajeEscrito el 03 Jun 2015 12:15 pm
PHP no cambia colores, eso lo puedes hacer con CSS. Lo que sí puedes hacer con PHP es escribir el código CSS que cambiará el color a lo que necesites.

En tu caso podía ser algo así:

Código PHP :

$calif=($r1+$r2+$r3+$r4+$r5+$r6+$r7+$r8+$r9+$r10)*10; ?>
<h4 style=·"color: <?php 
  if ($calif < 60) { echo 'red'; }
else { echo 'green'; }
?>;">Su calificacion fue de: $calif </h4>
<?php


Hay varias bibliotecas PHP para convertir HTML a PDF, quizá la que mejor se adapte a lo que necesitas sea esta: mPDF. Te adelanto que ni ésta ni ninguna biblioteca PHP son triviales de usar.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 04 Jun 2015 06:17 pm
Gracias amigo ^^ , si, solo eso era lo que necesitaba, te agradezco mucho la ayuda. Saludos

Por Nihilanth

5 de clabLevel



Genero:Masculino  

Aprendiz en Programacion

firefox
Citar            
MensajeEscrito el 04 Jun 2015 09:47 pm
Lo del cambio de color ha quedado perfectamente, la cuestion es con el mpdf, ya descargue la libreria, estoy utilizando WampServer, la pregunta es ¿donde lo debo instalar? Disculpa la molestia. Buen dia ^^

Por Nihilanth

5 de clabLevel



Genero:Masculino  

Aprendiz en Programacion

firefox
Citar            
MensajeEscrito el 05 Jun 2015 12:06 pm
Disculpa la rudeza pero yo no hice el mpdf. Si no lo encuentras en las instrucciones de la biblioteca, me temo que tendrás que preguntarle al desarrollador.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 05 Jun 2015 10:56 pm
No te preocupes, de hecho estuve investigando y ya vi como hacerlo, de todas maneras agradezco tu ayuda y pido perdón por las molestias. Saludos

Por Nihilanth

5 de clabLevel



Genero:Masculino  

Aprendiz en Programacion

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.