Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: _vicho_ en 11 Enero 2012, 03:10 am



Título: enviar correos desde un formulario adentro de un html
Publicado por: _vicho_ en 11 Enero 2012, 03:10 am
hola quiero que el usuario que vea mi pagina me mande un correo desde la pagina sin meterse a nada extra, estuve checando en internet pero solamente me dan esto
         [codigo]
<?php
$destino ="soporte@disegrafweb.com.mx";
$asunto = "asuntocaja";
$cabeceras = "Content-type: text/html";
$cuerpo ="cuerpocaja<br>
Los datos enviados son los siguientes:<br>
<b>Nombre:</b>$nombre<br>
<b>email:</b>$email<br>
Y envio el siguiente comentario: <hr>
<pre>
$comentario
</pre>";

mail($destino,$asunto,$cuerpo,$cabeceras);

echo “Se ha enviado el mensaje correctamente”;
?>
[/codigo]

estoy muy nobato en php y disculpen si es tonta la pregunta q realizare pero en ese php donde esta el boton enviar correo????

muchas gracias por sus respuestas hasta pronto


Título: Re: enviar correos desde un formulario adentro de un html
Publicado por: #!drvy en 11 Enero 2012, 03:18 am
Hola,

No he entendido nada de lo que has dicho.

Quieres que nada mas alguien entre a tu pagina, te llegue un correo ? u otra cosa ? ?


Saludos


Título: Re: enviar correos desde un formulario adentro de un html
Publicado por: _vicho_ en 11 Enero 2012, 03:38 am
exactamente, que el visitante si es q quiere mandarme un correo lo pueda hacer desde esa misma pagina, sin salirse de ahi amenos de q el lo desee


Título: Re: enviar correos desde un formulario adentro de un html
Publicado por: 2Fac3R en 11 Enero 2012, 05:44 am
Pues create un formulario donde el visitante ponga los datos que necesita mandarte por correo.

Aprende un poco de HTML y PHP (busca sobre la funcion mail() )

No esperes que se te de el code hecho sin poner nada de tu esfuerzo, no creo que nadie lo haga.
Zalu2


Título: Re: enviar correos desde un formulario adentro de un html
Publicado por: _vicho_ en 12 Enero 2012, 03:12 am
hola si se de html 2Fac3R pero no tengo idea de php si e visto ese codigo
 y tengo ejemplos
<?
mail("pepito@suweb.com,maria@suweb.com","asuntillo","Este es el cuerpo del mensaje")
?>

y tambien ya ise el formulario del correo para que pongan sus datos y el contenido del correo pero como ago que ese codigo en php se envie y que onda con el boton enviar eso es lo que no se como va, no pido el scrip ya echo sino un apollo de por donde empezar  :-(


Título: Re: enviar correos desde un formulario adentro de un html
Publicado por: 2Fac3R en 12 Enero 2012, 05:33 am
hola si se de html 2Fac3R pero no tengo idea de php si e visto ese codigo
 y tengo ejemplos
<?
mail("pepito@suweb.com,maria@suweb.com","asuntillo","Este es el cuerpo del mensaje")
?>

y tambien ya ise el formulario del correo para que pongan sus datos y el contenido del correo pero como ago que ese codigo en php se envie y que onda con el boton enviar eso es lo que no se como va, no pido el scrip ya echo sino un apollo de por donde empezar  :-(

Si supieras HTML sabrias que "el boton" en enviar se hace con HTML dentro del formulario asi:

Código
  1. <form action="correo.php" method="POST">
  2. <input type="submit" value="ENVIAR!">
  3. </form>

PHP solo procesa los datos, en este caso enviara con la funcion mail(), lo que tienes que leer es sobre los metodos de envio de datos
Código
  1. $_POST
y $_GET (en este caso es mejor $_POST) para que entiendas mas sobre esto.
Zalu2


Título: Re: enviar correos desde un formulario adentro de un html
Publicado por: _vicho_ en 12 Enero 2012, 17:36 pm
creo que esto ya es lo ultimo XD

encontre este php y lo modifique para mi formulario, el problema es que tengo un error de sintaxis en la linea 10 y cuando le doy enviar me aparece el php en el explorador porque me sucede eso? muchas gracias por sus respuestas y espero aprender mas rapido para no dar tanta lata n_n

1  <?php
2
3  $nombres = $_POST['nombre'];
4  $email = $_POST['email'];
5  $asunto = $_POST['asunto'];
6  $comentarios = $_POST['comentarios'];


9  $to = "Soporte@disegrafweb.com.mx";
10 $header = "From": ".$nombres ."< ".$email.">;
11 $mensaje = 'Hola, ".$nombres ." (".$email.")\n te escribio el siguiente mensaje: \n\n';
12 $mensaje .= $comentarios;
13 mail($to, $asunto, $mensaje, $header) or die('No se puedo enviar el correo');
14 echo 'Se ha enviado un correo exitosamente de $nombres ($email)';
15
16 ?>


Título: Re: enviar correos desde un formulario adentro de un html
Publicado por: 2Fac3R en 12 Enero 2012, 19:08 pm
creo que esto ya es lo ultimo XD

encontre este php y lo modifique para mi formulario, el problema es que tengo un error de sintaxis en la linea 10 y cuando le doy enviar me aparece el php en el explorador porque me sucede eso? muchas gracias por sus respuestas y espero aprender mas rapido para no dar tanta lata n_n

1  <?php
2
3  $nombres = $_POST['nombre'];
4  $email = $_POST['email'];
5  $asunto = $_POST['asunto'];
6  $comentarios = $_POST['comentarios'];


9  $to = "Soporte@disegrafweb.com.mx";
10 $header = "From": ".$nombres ."< ".$email.">;
11 $mensaje = 'Hola, ".$nombres ." (".$email.")\n te escribio el siguiente mensaje: \n\n';
12 $mensaje .= $comentarios;
13 mail($to, $asunto, $mensaje, $header) or die('No se puedo enviar el correo');
14 echo 'Se ha enviado un correo exitosamente de $nombres ($email)';
15
16 ?>

Vamos que queda mas bonito asi:
Código
  1. <?php
  2. $nombres = $_POST['nombre'];
  3. $email = $_POST['email'];
  4. $asunto = $_POST['asunto'];
  5. $comentarios = $_POST['comentarios'];
  6. $to = "Soporte@disegrafweb.com.mx";
  7. $header = "From": ".$nombres ."< ".$email.">;
  8. $mensaje = 'Hola, ".$nombres ." (".$email.")\n te escribio el siguiente mensaje: \n\n';
  9. $mensaje .= $comentarios;
  10. mail($to, $asunto, $mensaje, $header) or die('No se puedo enviar el correo');
  11. echo 'Se ha enviado un correo exitosamente de $nombres ($email)';
  12. ?>

Revisando el code, tienes un error en la linea 7:

Código
  1. $header = "From": ".$nombres ."< ".$email.">;
  2.  

Cuando podriamos ponerlo asi (fijate en la concatenacion de variables con string):
Código
  1. $header = 'From: '.$nombres.'<'.$email.'>';
  2.  

Para mi quedaria mejor asi (no testeado):

Código
  1. $nombres = $_POST['nombre'];
  2. $email = $_POST['email'];
  3. $asunto = $_POST['asunto'];
  4. $comentarios = $_POST['comentarios'];
  5. $to = "Soporte@disegrafweb.com.mx";
  6. $header = 'From: '.$nombres.'<'.$email.'>';
  7. $mensaje = "Hola, $nombres '$email' \n te escribio el siguiente mensaje: \n\n";
  8. $mensaje .= $comentarios;
  9. mail($to, $asunto, $mensaje, $header) or die('No se puedo enviar el correo');
  10. echo 'Se ha enviado un correo exitosamente de $nombres ($email)';
  11.  

Si te da error de linea 10 es porque no tienes ningun servidor SMTP que envie el correo (por si lo estas probando en local) necesitaras instalarte uno o que tu hosting lo contenga.
Zalu2


Título: Re: enviar correos desde un formulario adentro de un html
Publicado por: _vicho_ en 13 Enero 2012, 02:44 am
no tengo ningun mensaje de error 2Fac3R, solo cuando pulso enviar me abre el php en el exlorador porque sucede eso? :huh:


Título: Re: enviar correos desde un formulario adentro de un html
Publicado por: #!drvy en 13 Enero 2012, 02:52 am
Tienes PHP instalado ? Te hace falta tanto Apache como PHP instalados para trabajar con códigos php localmente.


Saludos


Título: Re: enviar correos desde un formulario adentro de un html
Publicado por: 2Fac3R en 13 Enero 2012, 05:22 am
Si no tienes el PHP instalado la verdad que es un gran ejemplo (para los users que van aprendiendo que me lean) del querer usar cosas que no saben como funciona, un muy mal camino :P

Instalate el Appserv, un servidor SMTP y te funcionara el code ;)
Zalu2