 
			
				22/06/2004, 01:24
			
			
			     |  
        |     Moderador extraterrestre   |    |    Fecha de Ingreso: diciembre-2001  Ubicación: Madrid  
						Mensajes: 6.987
					  Antigüedad: 23 años, 10 meses Puntos: 61     |        |  
      Vamos a ver!   
La página del formulario quedaría así:   Código HTML:  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
	<title>Untitled</title>
<script>
//Pon aquí las respuestas posibles:
letras=['a','b','c','d','e']
responderTodas=false; //ponlo en true para obligar a que responda todas.
//Pon aquí los mensajes personalizados para cada respuesta o para el empate.
mensajeA="Ha respondido mayoritariamente Aes";
mensajeB="Ha respondido mayoritariamente Bes";
mensajeC="Ha respondido mayoritariamente Ces";
mensajeD="Ha respondido mayoritariamente Des";
mensajeE="Ha respondido mayoritariamente Ees";
mensajeEmpate="No se decide usted, eh?";
//Configuración del correo
comienzo="Hola! Se ha recibido una respuesta del formulario. "; //Comienzo del correo
despedida="Reciba un cordial saludo de KarlanKas!"; //Final del correo
//------------------------------------------------
function comprobar(){
	//Inicialización de variables
	var a=0;
	var b=0;
	var c=0;
	var d=0;
	var e=0;
	var total=0;
	var empate=false;
	var nombre="";
	var preguntas=0;
	var	formulario=document.forms[0];
	var restoEmail=""
	
//Inicio de la comprobación
	
	for(q=0;q<formulario.length;q++){
			
			//Si el elemento es un radio y tiene nuevo nombre (es una nueva ristra de preguntas)
			if(formulario.elements[q].type=="radio" && formulario.elements[q].name!=nombre){
			//Contar una pregunta más
			preguntas+=1;
			//Cambiar el valor de nombre anterior por el actual
			 nombre=formulario.elements[q].name;
			 }
			 
			 //Si está seleccionada esta respuesta
			  if(formulario.elements[q].checked){
			  	restoEmail+="La respuesta a la pregunta "+preguntas+" ha sido la "+formulario.elements[q].value+".\n";
				//Sumar una a la letra en cuestión
				eval(formulario.elements[q].value+"+=1");
				//Sumar una al total de respuestas
				total+=1;
				}
			
}
	//Si no se han contestado todas
	if(responderTodas && total!=preguntas){alert("Debe responder a todas las preguntas antes de continuar");return false}
	
	mayor=0
	for(ax=1;ax<letras.length;ax++){
		if(eval(letras[ax])>eval(letras[mayor])){mayor=ax;empate=false;}
			else{
				if(letras[ax]==eval(letras[mayor])){empate=true}}
	}
	
	if(!empate){
	if(eval(letras[mayor])==0){alert("Haz el favor de responder alguna pregunta");return false;}
	else{
		mensaje=eval("mensaje"+letras[mayor].toUpperCase())
		}
	}
	else{
		mensaje=mensajeEmpate;
	}
	
	
		formulario.mensaje.value=comienzo+"\n\n"+restoEmail+"\n\nDe lo que se desprende que...\n\n"+mensaje+"\n\n"+despedida;
		formulario.haymensaje.value="si";
	}
	</script>
</head>
<body>
<form action="mandador.php" method="post" onsubmit="return comprobar()" >
<input type="hidden" name="haymensaje">
<input type="hidden" name="mensaje">
1. Pregunta<br>
<input type="radio" name="pregunta1" value="a">Respuesta A<br>
<input type="radio" name="pregunta1" value="b">Respuesta B<br>
<input type="radio" name="pregunta1" value="c">Respuesta C<br>
<input type="radio" name="pregunta1" value="d">Respuesta D<br>
<input type="radio" name="pregunta1" value="e">Respuesta E<br><br>
2. Pregunta<br>
<input type="radio" name="pregunta2" value="a">Respuesta A<br>
<input type="radio" name="pregunta2" value="b">Respuesta B<br>
<input type="radio" name="pregunta2" value="c">Respuesta C<br>
<input type="radio" name="pregunta2" value="d">Respuesta D<br>
<input type="radio" name="pregunta2" value="e">Respuesta E<br><br>
3. Pregunta<br>
<input type="radio" name="pregunta3" value="a">Respuesta A<br>
<input type="radio" name="pregunta3" value="b">Respuesta B<br>
<input type="radio" name="pregunta3" value="c">Respuesta C<br>
<input type="radio" name="pregunta2" value="d">Respuesta D<br>
<input type="radio" name="pregunta3" value="e">Respuesta E<br><br>
4. Pregunta<br>
<input type="radio" name="pregunta4" value="a">Respuesta A<br>
<input type="radio" name="pregunta4" value="b">Respuesta B<br>
<input type="radio" name="pregunta4" value="c">Respuesta C<br>
<input type="radio" name="pregunta4" value="d">Respuesta D<br><br>
5. Pregunta<br>
<input type="radio" name="pregunta5" value="a">Respuesta A<br>
<input type="radio" name="pregunta5" value="b">Respuesta B<br>
<input type="radio" name="pregunta5" value="c">Respuesta C<br>
<input type="radio" name="pregunta5" value="d">Respuesta D<br>
<input type="radio" name="pregunta5" value="e">Respuesta E<br><br>
6. Pregunta<br>
<input type="radio" name="pregunta6" value="a">Respuesta A<br>
<input type="radio" name="pregunta6" value="b">Respuesta B<br>
<input type="radio" name="pregunta6" value="c">Respuesta C<br>
<input type="radio" name="pregunta6" value="d">Respuesta D<br>
<input type="radio" name="pregunta6" value="e">Respuesta E<br><br>
7. Pregunta<br>
<input type="radio" name="pregunta7" value="a">Respuesta A<br>
<input type="radio" name="pregunta7" value="b">Respuesta B<br>
<input type="radio" name="pregunta7" value="c">Respuesta C<br>
<input type="radio" name="pregunta7" value="d">Respuesta D<br>
<input type="radio" name="pregunta7" value="e">Respuesta E<br><br>
<input type="submit">
</form>
</body>
</html>  Y la página de destino (la que está en el action) debería ser algo así: 
(recuerda que debe tener extensión php (mandador.php)   Código PHP:     <?
 $eMail="[email protected]"; //Destinatario
 $titulo="respuesta del formulario"; //Asunto del correo
   if($mensaje){
 mail($eMail, $titulo,$mensaje);
 }
 ?>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
   <html>
 <head>
 <style>
 .mensaje{padding:10px 10px 10px 10px;
 font:normal 10px/20px verdana;
 border:solid 1px black;
 width:90%;
 }
 </style>
     <title>Untitled</title>
 </head>
   <body>
 <p class="mensaje">
 <? 
 if($haymensaje=="si"){
 echo nl2br($mensaje); 
 }
 else{
 echo "<script>history.back()</script>";
 }
 ?>
 </p>
 </script>
     </body>
 </html>      Espero que te sirva!!       
				__________________  Cómo escribir 
No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.          
					
						Última edición por KarlanKas; 22/06/2004 a las 01:56
					
					
						Razón: He cambiado una cosa en mandador.php
					
				          |