Mensaje en blanco
Buenas tardes a todos,
Espero por favor ver si me podéis ayudar. Muchas gracias de antemano.
El caso es que en mi anterior web (html), tenía un formulario (php) de contacto donde me llegaban mis mensajes de forma correcta. He hecho un rediseño y sin embargo, desde hace un tiempo me he dado cuenta que los mensajes llegar llegan, pero en blanco. He revisado todo y no sé dónde puede estar el error. El php es sencillo y como digo, había funcionado (y los id están bien pues, ya digo que antes llegaban):
<?php
$pagina = "http://www.ejemplo.gracias.html";
Header("Location: $pagina");
?>
<?php
$para = 'correo@correo.com';
$asunto = 'Asunto';
$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$contenido = "Este mensaje fue enviado por " . $nombre . " \r\n";
$contenido .= "Su e-mail es: " . $mail . " \r\n";
$contenido .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
mail($para, $asunto, $contenido);
?>
¿Alguien puede saber dónde está el error?
Como digo, muchas gracias!
phpninja
Hola,
el header location: $pagina, supongo que va después del código de mail( ... no ?
son correctos los nombres lo de los campos MENSAJE, NOMBRE, MAIL ?
Está bien escrito el formulario y cada input? Alguna comilla sin cerrar?
Añade estas línias a lo mejor así escupe el error:
<?
error_reporting(E_ALL);
ini_set('display_errors', '1');
eluguina
¡Muchas gracias!
Voy a revisarlo y ver qué pasa.
La verdad es que HTML sí lo piloto, pero PHP digamos que no. Lo que me extrañaba es que antes sí funcionaba y ahora no.
Un saludo!
eluguina
phpninja
Hola!
Como dije, no soy experto en PHP y no sé si el código que pusiste debería reportar algún error. Pero he hecho varias pruebas con este código y los mensajes siguen llegando en blanco. Más concretamente pone:
Nombre:
Mail:
Mensaje:
Seguiré investigando.
fakito
Hola eluguina,
según el código que has pegado el contenido del mensaje debería ser este:
Este mensaje fue enviado por
Su e-mail es:
Mensaje:
Asegurate de que el formulario está enviando los datos a la URL correcta, podrías estar envíandolo a otro php que use otros nombres para los campos del formulario.
eluguina
fakito
Cierto. Así es como los recibo. (Su e-mail es: …). Perdón.
fakito
Mira que el formulario se esté enviando vía POST y no vía GET. Después prueba a cambiar el código para hacer un var_dump de POST y ver que datos estas recibiendo:
<?php
var_dump($_POST);
/*
$para = 'correo@correo.com';
$asunto = 'Asunto';
$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$contenido = "Este mensaje fue enviado por " . $nombre . " \r\n";
$contenido .= "Su e-mail es: " . $mail . " \r\n";
$contenido .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
mail($para, $asunto, $contenido);
*/
?>
victor_guerrero
¿Has probado a cambiar las comillas simples que tienes en los corchetes del $_POST por comillas dobles?
eluguina
Voy a hacer una última prueba.
Si no, tengo pensado poner el correo con la función MAIL.
Muchas gracias a todos!
luisferparra
HOla
quita los espacios que tienes entre tags de PHP o a la derecha de cualquier fin de tag de código PHP. Un simple espacio te vuelve loco
Si no, estás enviando los parámetros en GET y no en POST como te han comentado anteriormente.
eluguina
Muchas gracias a todos.
Pues ni con esas. Finalmente pondré con la función de MAIL en html, de tal forma que al hacer click abra el mail con la dirección.
Mil gracias!
asimetrico
Hola,
¿el formulario de contacto es el de tu página web? Estoy viendo el código y creas un formulario por cada campo (no tengo muy claro por qué). Prueba a poner sólo uno, así:
<form id="form" name="form" method="post" action="enviar.php">
<table width="400">
<tr>
<td>Nombre y apellidos:</td>
</tr>
<tr>
<td><input type="text" name="nombre" id="nombre" /></td>
</tr>
<tr>
<td>Correo electrónico:</td>
</tr>
<tr>
<td><input type="text" name="mail" id="mail" /></td>
</tr>
<tr>
<td>Mensaje:</td>
</tr>
<tr>
<td><textarea name="mensaje" id="mensaje" cols="45" rows="5"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="enviar" id="enviar" value="Enviar" /></td>
</tr>
</table>
</form>
Deberías acostumbrarte a maquetar sin tablas, pero eso ya es otro tema :)
eluguina
¡Voy a intentarlo gracias!
Y siii, es lo único de la web que tengo con tablas. El resto está con divs.
En la página de contacto cambié los divs por tablas para hacerlo más "simple", he probado ya todo.
Un abrazo a todos!