Foros del Web » Programando para Internet » PHP »

Enviar formulario a cuenta de correo

Estas en el tema de Enviar formulario a cuenta de correo en el foro de PHP en Foros del Web. Buenos dias, soy novato en el foro y aviso... no tengo ni idea de programacion web Bueno el caso es que estoy haciendo mi primera ...
  #1 (permalink)  
Antiguo 28/02/2011, 02:21
 
Fecha de Ingreso: febrero-2011
Ubicación: Vallekas
Mensajes: 5
Antigüedad: 13 años, 2 meses
Puntos: 0
Enviar formulario a cuenta de correo

Buenos dias, soy novato en el foro y aviso... no tengo ni idea de programacion web

Bueno el caso es que estoy haciendo mi primera pagina, en dreamweaver, bastante sencilla para una asociacion de la que soy socio y el caso es que el tema diseño lo tengo resuelto e incluso la pagina funciona pero tengo un gran problema (en realidad es un pequeño problema que para mi es todo un mundo):

necesito enviar los datos de un formulario de contacto a una cuenta de correo, no creo que sea muy complicado, he mirado codigos por ahi y lo unico que he conseguido es liarme aun mas... entre el dichoso mailto de html, la clase mail y la funcion mail de php, el phpmailer... en serio no tengo ni pajotera idea de lo que tengo que usar, ni mucho menos como

el codigo html del formulario es:

<body>
<table width="680" border="1" cellpadding="10" cellspacing="0" bordercolor="#000000">
<tr>
<td height="206" align="center"><form method="post" action="mail.php">
<input type="hidden" name="to" value="[email protected]" />
<input type="hidden" name="return_url_ok" value="http://www.cataja.org/email-enviado-ok.html" />
<input type="hidden" name="return_url_ko" value="http://www.cataja.org/email-enviado-ko.html" />
<table width="630" border="0" cellspacing="0" cellpadding="5">
<tr>
<td width="150"><strong>Asunto : </strong></td>
<td width="510"><input name="asunto" type="text" size="55" id="asunto" /></td>
</tr>
<tr>
<td><strong>Nombre :</strong></td>
<td><input name="nombre" type="text" size="55" /></td>
</tr>
<tr>
<td><strong>E-mail :</strong></td>
<td><input name="email" type="text" size="55" /></td>
</tr>
<tr>
<td><strong>Telefono :</strong></td>
<td><input id="telefono" name="telefono" type="text" size="30" /></td>
</tr>
<tr>
<td valign="top"><strong>Comentario :</strong></td>
<td><textarea id="comentario" name="comentario" cols="53" rows="3" ></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="send" value="Enviar" /></td>
</tr>
</table>
</form></td>
</tr>
</table>
</body>
</html>


he copiado y adaptado este codigo php para mi formulario y no funciona

<?php
$tema = $_POST['asunto'];
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$telefono = $_POST['telefono'];
$comentario = $_POST['comentario'];

$header = 'From: ' . $mail . " \r\n";
$header.= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header.= "Mime-Version: 1.0 \r\n";
$header.= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por " . $nombre . " \r\n";
$mensaje.= "Su e-mail es: " . $mail . " y telefono " . $telefono . " \r\n";
$mensaje.= "Asunto: " . $_POST['asunto'] . " \r\n";
$mensaje.= "Comentario: " . $_POST['comentario'] . " \r\n";
$mensaje.= "Enviado el " . date('d/m/Y', time());

$para = '[email protected]';
$asunto = 'Consulta desde cataja.org';

mail($para, $asunto, utf8_decode($mensaje), $header);

echo '&estatus=ok&';

?>


lo dicho, a ver si alguien pudiera corregirme el codigo o escribir uno que funcione

saludos y gracias de antemano

raul

pd. tampoco se si tengo que hacer algo en servidor.. la cuenta [email protected] ya esta creada
  #2 (permalink)  
Antiguo 28/02/2011, 03:06
 
Fecha de Ingreso: junio-2009
Ubicación: Madrid
Mensajes: 402
Antigüedad: 14 años, 10 meses
Puntos: 20
Respuesta: Enviar formulario a cuenta de correo

Tu tienes esto:
Código PHP:
<?php
$tema 
$_POST['asunto'];
$nombre $_POST['nombre'];
$email $_POST['email'];
$telefono $_POST['telefono'];
$comentario $_POST['comentario'];

$header 'From: ' $mail " \r\n";
$header.= "X-Mailer: PHP/" phpversion() . " \r\n";
$header.= "Mime-Version: 1.0 \r\n";
$header.= "Content-Type: text/plain";

$mensaje "Este mensaje fue enviado por " $nombre " \r\n";
$mensaje.= "Su e-mail es: " $mail " y telefono " $telefono " \r\n";
$mensaje.= "Asunto: " $_POST['asunto'] . " \r\n";
$mensaje.= "Comentario: " $_POST['comentario'] . " \r\n";
$mensaje.= "Enviado el " date('d/m/Y'time());

$para '[email protected]';
$asunto 'Consulta desde cataja.org';

mail($para$asuntoutf8_decode($mensaje), $header);

echo 
'&estatus=ok&';

?>
1. En header llamas a una variable no definida "$mail", a lo mejor te refieres a $email.
2. En la parte de "Asunto: ".$_POST['asunto']... llamalo por la variable, ya que la tienes definida. "Asunto :" $tema ...
3. Lo mismo con el comentario.
4. Pero no nos has dicho que error te da!? Te funcciona?
  #3 (permalink)  
Antiguo 28/02/2011, 04:08
 
Fecha de Ingreso: febrero-2011
Ubicación: Vallekas
Mensajes: 5
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Enviar formulario a cuenta de correo

muchas gracias worldart

bueno, el caso es que antes se quedaba "bloqueado" el navegador en un punto y de ahi no avanzaba

ahora, despues de corregir tus anotaciones, lo que me dice es:

Safari no puede abrir la página “http://mail.php/” porque no encuentra el servidor “mail.php”.

pero el archivo creado por mi (por nosotros) "mail.php" lo tengo grabado en la raiz de la carpeta httpdocs del servidor

saludos y gracias por contestar tan rapido
  #4 (permalink)  
Antiguo 28/02/2011, 04:18
 
Fecha de Ingreso: junio-2009
Ubicación: Madrid
Mensajes: 402
Antigüedad: 14 años, 10 meses
Puntos: 20
Respuesta: Enviar formulario a cuenta de correo

Es que te redirige mal, en algun sitio que tengas una funcion header() es lo que te redirige mal.
  #5 (permalink)  
Antiguo 28/02/2011, 04:54
 
Fecha de Ingreso: febrero-2011
Ubicación: Vallekas
Mensajes: 5
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Enviar formulario a cuenta de correo

Donde???? en el html o en el phpo?? no tengo ni idea de programacion y estos codigos son un copia y pega de articulos que he visto por el foro

en el html tengo

Código HTML:
<td height="206" align="center"><form method="post" action="mail.php">
<input type="hidden" name="to" value="[email protected]" />
<input type="hidden" name="return_url_ok" value="http://www.cataja.org/email-enviado-ok.html" />
<input type="hidden" name="return_url_ko" value="http://www.cataja.org/email-enviado-ko.html" /> 
Creo que esto es lo que hace referencia a que tiene hacer el formulario. Observo que para ir al archivo "enviado ok" viene toda la direccion http://www.cataja.org/email-enviado-ok.html, pero sin embargo cuando hace referencia al archivo de mail.php solo pone esto, y nada de http... ni nada de eso

el php, despues de corregirlo queda asi

Código PHP:
<?php
$asunto 
$_POST['asunto'];
$nombre $_POST['nombre'];
$email $_POST['email'];
$telefono $_POST['telefono'];
$comentario $_POST['comentario'];

$header 'From: ' $email " \r\n";
$header.= "X-Mailer: PHP/" phpversion() . " \r\n";
$header.= "Mime-Version: 1.0 \r\n";
$header.= "Content-Type: text/plain";

$mensaje "Este mensaje fue enviado por " $nombre " \r\n";
$mensaje.= "Su e-mail es: " $mail " y telefono " $telefono "  \r\n";
$mensaje.= "Asunto: " $_POST['asunto'] . " \r\n";
$mensaje.= "Comentario: " $_POST['comentario'] . " \r\n";
$mensaje.= "Enviado el " date('d/m/Y'time());

$para '[email protected]';
$asunto 'Consulta desde cataja.org';

mail($para$asuntoutf8_decode($mensaje), $header);

echo 
'&estatus=ok&';

?>

</body>
</html>
  #6 (permalink)  
Antiguo 28/02/2011, 05:10
 
Fecha de Ingreso: junio-2009
Ubicación: Madrid
Mensajes: 402
Antigüedad: 14 años, 10 meses
Puntos: 20
Respuesta: Enviar formulario a cuenta de correo

comenta la ultima linea. es decir:

en vez de: echo.... ponle un # alante y prueba luego.
  #7 (permalink)  
Antiguo 28/02/2011, 06:38
 
Fecha de Ingreso: febrero-2011
Ubicación: Vallekas
Mensajes: 5
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Enviar formulario a cuenta de correo

nada tio... siento ser tan pesado pero asi tampoco funciona

he sustituido el echo por el simbolo # y tambien he probado con #echo .... en ninguno de los dos casos funciona. me da el mismo fallo dice que no encuentra el servidor mail.php

no tendre que hacer algo en el servidor??? instalar algo o yo que se...
  #8 (permalink)  
Antiguo 28/02/2011, 07:08
 
Fecha de Ingreso: junio-2009
Ubicación: Madrid
Mensajes: 402
Antigüedad: 14 años, 10 meses
Puntos: 20
Respuesta: Enviar formulario a cuenta de correo

Postea aqui los archivos php que tengas (que tengan algo que ver con la funcion del formulario)
  #9 (permalink)  
Antiguo 28/02/2011, 10:19
 
Fecha de Ingreso: febrero-2011
Ubicación: Vallekas
Mensajes: 5
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Enviar formulario a cuenta de correo

al final te voy tener que invitar a unas cañitas....

el unico php que tengo es este, el mail.php y el codigo es el del mensaje anterior, no he modificado nada y el html del formulario es este


Código HTML:
<body>
<table width="680" border="1" cellpadding="10" cellspacing="0" bordercolor="#000000">
<tr>
<td height="206" align="center"><form method="post" action="mail.php">
<input type="hidden" name="to" value="[email protected]" />
<input type="hidden" name="return_url_ok" value="http://www.cataja.org/email-enviado-ok.html" />
<input type="hidden" name="return_url_ko" value="http://www.cataja.org/email-enviado-ko.html" />
<table width="630" border="0" cellspacing="0" cellpadding="5">
<tr>
<td width="150"><strong>Asunto : </strong></td>
<td width="510"><input name="asunto" type="text" size="55" id="asunto" /></td>
</tr>
<tr>
<td><strong>Nombre :</strong></td>
<td><input name="nombre" type="text" size="55" /></td>
</tr>
<tr>
<td><strong>E-mail :</strong></td>
<td><input name="email" type="text" size="55" /></td>
</tr>
<tr>
<td><strong>Telefono :</strong></td>
<td><input id="telefono" name="telefono" type="text" size="30" /></td>
</tr>
<tr>
<td valign="top"><strong>Comentario :</strong></td>
<td><textarea id="comentario" name="comentario" cols="53" rows="3" ></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="send" value="Enviar" /></td>
</tr>
</table>
</form></td>
</tr>
</table>
</body>
</html> 
  #10 (permalink)  
Antiguo 01/03/2011, 04:22
 
Fecha de Ingreso: junio-2009
Ubicación: Madrid
Mensajes: 402
Antigüedad: 14 años, 10 meses
Puntos: 20
Respuesta: Enviar formulario a cuenta de correo

prueba con esto:

index.php
Código PHP:
<?php

$asunto 
$_POST['asunto']; 
$nombre $_POST['nombre']; 
$email $_POST['email']; 
$telefono $_POST['telefono']; 
$comentario $_POST['comentario']; 

$header 'From: ' $email " \r\n"
$header.= "X-Mailer: PHP/" phpversion() . " \r\n"
$header.= "Mime-Version: 1.0 \r\n"
$header.= "Content-Type: text/plain"

$mensaje "Este mensaje fue enviado por " $nombre " \r\n"
$mensaje.= "Su e-mail es: " $email " y telefono " $telefono "  \r\n"
$mensaje.= "Asunto: " $asunto " \r\n"
$mensaje.= "Comentario: " $comentario " \r\n"
$mensaje.= "Enviado el " date('d/m/Y'time()); 

$para '[email protected]';
$asunto 'Consulta desde cataja.org';

mail($para$asuntoutf8_decode($mensaje), $header); 

$location $_SERVER['SERVER_NAME'];
header("Location: " $location);
exit;

?>

<html>
    <body>
        <table width="680" border="1" cellpadding="10" cellspacing="0" bordercolor="#000000">
            <tr>
                <td height="206" align="center">
                    <form method="post" action="">
                        <table width="630" border="0" cellspacing="0" cellpadding="5">
                            <tr>
                                <td width="150"><strong>Asunto : </strong></td>
                                <td width="510"><input name="asunto" type="text" size="55" id="asunto" /></td>
                            </tr>
                            
                            <tr>
                                <td><strong>Nombre :</strong></td>
                                <td><input name="nombre" type="text" size="55" /></td>
                            </tr>
                            
                            <tr>
                                <td><strong>E-mail :</strong></td>
                                <td><input name="email" type="text" size="55" /></td>
                            </tr>
                            
                            <tr>
                                <td><strong>Telefono :</strong></td>
                                <td><input id="telefono" name="telefono" type="text" size="30" /></td>
                            </tr>
                            
                            <tr>
                                <td valign="top"><strong>Comentario :</strong></td>
                                <td><textarea id="comentario" name="comentario" cols="53" rows="3" ></textarea></td>
                            </tr>
                            
                            <tr>
                                <td>&nbsp;</td>
                                <td><input type="submit" name="send" value="Enviar" /></td>
                            </tr>    
                        </table>
                    </form>
                </td>
            </tr>
        </table>
    </body>
</html>

Etiquetas: correo, enviar, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:35.