Problema formulario de contacto web template

Hace unas semanas y sin tener conocimiento alguno sobre estas cosas me puse a hacer una web a partir de un template.
Dedicándole muchísimas horas fui aprendiendo a hacer cosas que seguramente son muy sencillas pero que para mi eran muy difíciles.
Más o menos la web ya es lo que quiero pero sigo sin saber que tengo que cambiar en el códido del contact.php para que los mensajes enviados desde el formulario de contacto me lleguen.
El código es el siguiente:
<?
//name = yourName2_txt
//phone = phone2_txt
//email = email2_txt
//comments = comments2_txt
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: Studio Mail Form' . "\r\n" .'Reply-To: [email protected]' . "\r\n";
$ToEmail = "[email protected]";
$ToName = "you";
$ToSubject = "Php Mail Form";
$EmailBody = "
<table width='716' height='207' border='1' bgcolor='#090909'>
<tr>
<td><font size='2' face='Arial' color='#999999'>Sent By: $yourName2_txt \nSenders Email: $email2_txt\n Message Sent:\n$comments2_txt</font></td>
</tr>
</table>
";
$EmailFooter="\nThis message was sent by: $yourName2_txt from $REMOTE_ADDR ";
$Message = $EmailBody.$EmailFooter;
mail($ToName." <".$ToEmail.">",$ToSubject, $Message, $headers);
Print "_root.Status=success";
?>
Lo poco que se es que si en $ToEmail = "[email protected]" pongo la dirección de correo donde tengo alojada la web recibo un correo. Pero no el correo con el mensaje que uno escriba en el formulario si no un rectángulo negro donde dice únicamente:
Sent By: Senders Email: Message Sent:
Y debajo del rectángulo:
This message was sent by: from
Bueno...
Ojalá alguien me pueda echar una mano porque yo con estas cosas no puedo.

1 respuesta

Respuesta
1
Tienes que asignar valores a los campos que se te envían en el email, y esos valores te los proporciona el usuario que rellena el formulario.
En el formulario tendrás un campo de tipo "input" (o sea de entrada de datos) para cada dato que le pidas al usuario:
<input type="text" size="70" name="email_remitente">
Este por ejemplo recoge el email que mete el usuario, y así tendrás otro por ejemplo para el contenido. Una vez pulsado enviar, y antes de enviar el correo debes asignar los datos obtenidos a las variables. En tu caso la del email del remitente se haría así utilizo el nombre de la variable que usas en tu ejemplo):
$email2_txt = $_REQUEST['email_remitente'];
Y esta línea la pondrías donde actualmente tienes esta otra (más bien en lugar de esta otra):
//email=email2_txt
Es decir, en tu formulario tiene unos campos, teléfono, email y comentario, que tienen unos nombres "name". Y en la función que envía el email unas variables sin valor alguno, $email2_txt y $comments2_txt, lo que falta es que antes de enviarlos le des a las variables el valor que has obtenido en el formulario.
Gracias Kike.
A decir verdad hace cosa de una hora yo mismo conseguí solucionarlo.
Bueno...
Lo que probé fue a poner el código del mismo template pero de una versión mejorada más reciente.
Lo vi diferente y con menos ''texto'' y decidí probar haciendo lo mismo que dije que hacía con el anterior que no me funcionaba.
Y dio resultado.
Pero aun así un día de estos intentaré a hacer esto que me explicas para cerciorarme de que si merecías el excelente : )
Un saludo y MUCHÍSIMAS GRACIAS.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas