Mas lento
Cita: Pon en la segunda linea de enviar.php
echo "<pre>";
print_r($_POST);
echo "</pre>";
con ello verás que te llega del formulario.
Código PHP:
Ver original<?php
echo "<pre>";
echo "</pre>";
//Vamos a crear en primer lugar las variables de nuestro formulario (Todos los NAME del formulario)
$quiero = $_POST['quiero'];
con esto aparecera en pantalla el contenido del array $_POST con lo que podràs corregir el formulario para que llegue lo que quieres que llegue. Una vez funcione elimina esas lineas.
Cita: Por ejemplo
<option value="Por un amigo!">Por un amigo!</option>
Te faltan los value de las option del desplegable, puede ser el mismo texto o un codigo (es lo mas normal)
Una corrección necesaria para el formulario, las options llevan el parametro value y eso es lo que el formulario manda. Lo normal es poner codigos, 1,2,3... que luego deberas traducir a su significado.
Bajo mail() tienes el link a la pagina del manual
http://php.net/manual/es/function.mail.php.
Cita: no tienes los parametros en el orden adecuado.
en el manual veras el orden de los parametros, tu misma has puesto un comentario en el script al respecto
Cita: //Hay que enviarlo estrictamente en este orden:
pero el orden que pones y el que dice el manual NO es el mismo.
Código PHP:
Ver originalmail($destinatario,$asunto,$mensaje,$header);
$resultado='<p>Tu mensaje ha sido enviado correctamente. ¡Gracias!</p>';
echo $resultado;
esto, con el orden correcto, va a retornar que el mail se ha enviado correctamente, pase lo que pase al ejecutar mail(), es decir se haya enviado o no el mail, lo que no es correcto... por ello te propongo el condicional.
Código PHP:
Ver originalif(mail($destinatario,$asunto,$mensaje,$header)){ $resultado='<p>Tu mensaje ha sido enviado correctamente. ¡Gracias!</p>';
}else{
$resultado='<p>Tu mensaje NO ha sido enviado correctamente. ¡Intentalo de nuevo!</p>';
}
echo $resultado;