Tema recibir el mail y tambien el mensaje de error
if ($resultado && $enviarmail)
estas usando este condicional, &&, luego solo dirá
echo "<p>Sus mensaje se ha recibido correctamente. </p>
<p>En breve nos pondremos en contacto con usted. </p>
<p>Gracias por su interés. </p>";
si las DOS variables son true. En tu caso $enviarmail=true && $resultado=false luego es false y por tanto manda el mensaje de error.
Como solucionarlo... debes hacer que una cosa dependa de la otra... es decir como lo tienes ahora vas a amandar el mail al "cliente" y no te va a quedar constancia en la base de datos...
Luego yo lo que haria es
Código PHP:
Ver original//Primero guardo los datos
$consulta = "insert into talleres (Nombre, Telefono, Email, Razon, Detalle) ".
"values ('$Nombre', '$Telefono' '$Email', '$Razon', '$Detalle')";
if($resultado){
//si se a guardado sin error mando el mail
"Nombre = $Nombre \n Telefono = $Telefono \n".
"Email = $Email \n Opcion = $Razón \n Detalle = $Detalle");///OJO con $Razón
if ($enviarmail) {
echo "<p>Sus mensaje se ha recibido correctamente. </p>
<p>En breve nos pondremos en contacto con usted. </p>
<p>Gracias por su interés. </p>";
}else {
echo "<p> Error en el envio del mensaje.</p>".
"<p> Intente enviar su consulta a la siguiente dirección de correo: [email protected] </p> ";
//Aqui debes decidir que tienes que hacer con el registro sí se ha guardado en la bbdd.
}else{
//Si hay error en el momento de guardar
//Aqui puedes repetir el mensaje de error
//En este caso no se habrá mandado el mail ni se ha guardado nada en la bbdd
}
Ahora nos queda el error al guardar...
¿Has descartado lo que te decia del uso de empty()?
Por otro lado has puesto $Razón no se si es la raz
ón por la que la variable $Razon no funcione...
esto va así
No se corrige todo esto y dime si te funciona.... no se me ocurre ninguna otra razón...
Quim
Nota: no se de donde eres pero almenos en Catalunya las siglas CEIP y IES son obsoletas....tanto que nos habia costado decir PENICULA ahora le dicen FLIM...