A ver, tengo un problemilla en un codigo y soy algo inutil para resolverlo.
Os cuento un poco.
Estoy haciendo una pagina con un test online mediante un formulario php.
Los resultados se envian por email.
Ahora lo que queria era añadirle un conteo regresivo y que al finalizar la cuenta, se envie el formulario.
De modo que o bien se envia porque el usuario termina y pincha en enviar; o bien se finaliza el tiempo y se auto envia.
Pero mi problema es que cuando finaliza el conteo, no se envia.
Me imagino que el error se encuentra en la pagina enviar.php, porque no se si tengo que recoger ese submit que hace el script ni como recogerlo.
Os pongo el codigo que os enterareis mejor:
index.html
Código:
y enviar.php<html> <head> <script> var timeLimit = 1; //t15iempo en minutos var conteo = new Date(timeLimit * 10000); function inicializar(){ document.getElementById('cuenta').childNodes[0].nodeValue = conteo.getMinutes() + ":" + conteo.getSeconds(); } function cuenta(){ intervaloRegresivo = setInterval("regresiva()", 1000); } function regresiva(){ if(conteo.getTime() > 0){ conteo.setTime(conteo.getTime() - 1000); }else{ clearInterval(intervaloRegresivo); //alert("Fin"); document.test.submit(); //envio el form test; } document.getElementById('cuenta').childNodes[0].nodeValue = conteo.getMinutes() + ":" + conteo.getSeconds(); } var onload; onload = inicializar(); </script> </head> <body onload="cuenta();"> <div id=cuenta >0</div> <form method="post" action="enviar.php" name="test"> <p> <label for="nombre">Nombre:</label> <br /> <input id="nombre" name="nombre" placeholder="Nombre completo"> <label for="select"></label> Seleccione:</p> <p> <select name="select1" size="1" id="select"> <option selected="selected"> </option> <option>A</option> <option>b</option> <option>c</option> <option>d</option> </select> <input id="enviar" name="enviar" type="submit" value="Enviar test"> </form> </body> </html>
Código:
No se si se entiende bien...<?php $nombre=$_POST['nombre']; $select1=$_POST['select1']; $select2=$_POST['select2']; $email = $_POST['email']; $para = '[email protected]'; $titulo = 'Simulacro Test'; $cabecera= 'Respuestas del Test de Acceso a Tropa y Marineria de las Fuerzas Armadas'; $header = 'From: ' . $email . " \r\n"; $header .= "X-Mailer: PHP/" . phpversion() . " \r\n"; $header .= "Mime-Version: 1.0 \r\n"; $msjCorreo = "Nombre: $nombre\n E-mail: $email\n \n $cabecera\n R1: $select1\n R2: $select2\n"; if ($_POST['enviar']) { if (mail ($para, $titulo, $msjCorreo, $header)) { echo "Enviado con exito"; } else { echo 'Falló el envio'; } } ?>
Pero creo que la solucion es sencilla, solo que no doy con ella
Gracias por la ayuda. Un saludo
P.D.: Puede que el codigo que he pegado aqui tenga errores, es que entre que estoy probando y que aqui he quitado partes para no ponerlo entero... :)