sábado, 9 de noviembre de 2013

Hacer una encuesta y enviarla a tu email para registrar las respuestas con PHP y HTML

Imaginemos que queremos hacer una encuesta a unos colegas para hacer una votación o para organizar una cena y queremos regitrar las respuesta. Las respuestas nos llegarán al email, asi luego podremos demostrar que no nos hemos inventado las respuestas. Para ello tenemos que crear dos archivos:
1- Formulario con HTML y JavaScript: (encuesta.php)

El HTML será el siguiente:
  

Encuesta bla bla bla

Para saber lo que opinas debes rellenar los siguientes datos. No te llevará mas de 2 minutos. Gracias!






NOTA: esta encuesta será enviada mediante correo electrónico.

El CSS de ese mismo archivo será el siguiente:
body { background-color: #F2F2F2;}
#table3 { margin-top: 20px; font-family: arial, times new roman, lucida console; width: 505px; background-color: #F2F2F2;}
#table2 { width: 200px; background-color: #F2F2F2;}
#table1 { margin-top: 20px; font-family: arial, times new roman, lucida console; width: 505px; background-color: #F2F2F2;}
#table0 { margin-top: 50px; background-color: #F2F2F2;}
input {width: 100%; height: 35px; margin-top: 20px; font-size: 14px;}
select {width: 100%; height: 35px; margin-top: 20px; font-size: 14px;}
p { font-family: arial, times new roman, lucida console; font-size: 18px; font-weight: bold;}
#p { font-family: arial, times new roman, lucida console; font-size: 14px; font-style: italic; color: #FF0000;}
.gris { color: #585858;}
El JAVASCRIPT de ese mismo archivo será el siguiente:
function resetear(){if(document.formu.nombre.value.length == 0 ||  document.formu.nombre.value == ""){document.formu.nombre.style.color = "#585858"; document.formu.nombre.value = "Nombre";}}
function borrar(){document.formu.nombre.style.color = "#000000"; document.formu.nombre.value = "";}
function resetear2(){if(document.formu.apellidos.value.length == 0 ||  document.formu.apellidos.value == ""){document.formu.apellidos.style.color = "#585858"; document.formu.apellidos.value = "Apellidos";}}
function borrar2(){document.formu.apellidos.style.color = "#000000";document.formu.apellidos.value = "";}
function validarFormulario(){
 if(document.formu.nombre.value.length == 0 || document.formu.nombre.value == "Nombre"){alert("Introduce tu nombre."); return 0;}
 if(document.formu.apellidos.value.length == 0 || document.formu.apellidos.value == "Apellidos"){alert("Introduce tus apellidos."); return 0;}
 if(document.formu.anyo.value == 0){alert("Introduce un año."); return 0;}
 if(document.formu.sexo.value == 0){alert("Introduce el sexo."); return 0;}
 if(document.formu.comidaocena.value == 0){alert("Introduce comida o cena."); return 0;}
 if(document.formu.precio.value == 0){alert("Introduce precio que deseas."); return 0;}
 document.formu.submit();
}
2- PHP para registrar y mandar a email: (registrarEncuesta.php)

<?php
$nombre = $_POST['nombre'];
$apellidos = $_POST['apellidos'];
$anyo = $_POST['anyo'];
$sexo = $_POST['sexo'];
$comidaocena = $_POST['comidaocena'];
$precio = $_POST['precio'];
 
switch($anyo){
 case 1: $anyo = 1990; break;
 case 2: $anyo = 1989; break;
 case 3: $anyo = 1988; 
}
 
switch($sexo){
 case 1: $sexo = "Hombre"; break;
 case 2: $sexo = "Mujer"; break;
 case 3: $sexo = "Por las noches cambio";
}
 
switch($comidaocena){
 case 1: $comidaocena = "Comida"; break;
 case 2: $comidaocena = "Cena";
}
 
switch($precio){
 case 1: $precio = "5-10 Euros"; break;
 case 2: $precio = "10-15 Euros"; break;
 case 3: $precio = "15-20 Euros"; break;
 case 4: $precio = "20-25 Euros";
}
 
 //echo $nombre." ".$apellidos." ".$anyo." ".$sexo." ".$comidaocena." ".$precio;
 
$email = "tu_email@dominio.com";
 
$mensaje = "

Una persona ha rellenado Encuesta.

Nombre: ".$nombre.".
Apellidos: ".$apellidos.".
Año: ".$anyo.".
Sexo: ".$sexo.".
Prefiere: ".$comidaocena.".
Precio deseado: ".$precio.".

Recuerda añadirlo a la base de datos de la encuesta.

"; $cabeceras = "From: ".$nombre." ".$apellidos."@encuesta.com\r\nContent-type: text/html\r\n"; mail($email,"Encuesta bla bla bla.",$mensaje,$cabeceras); header('Location: http://www.google.com'); //redireccionamos a google ?>
Los dos archivos tienen que estar en la misma carpeta. Espero que lo podais utilizar alguna vez.

Un saludo