[Tutorial] Formulario y envío de correos [Xt3mP]

Iniciado por Xt3mP, Marzo 19, 2010, 01:20:16 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Marzo 19, 2010, 01:20:16 AM Ultima modificación: Marzo 27, 2014, 06:11:16 PM por Expermicid
#########################################################################

En este tutorial aprenderemos a como obtener los datos de un formulario por el metodo post, cojer los datos mediante PHP y enviarlos en un formulario agregando una redireccion. Suena complicado pero veran que despues de leer esto se les hara sumamente sencillo.

Necesitaremos simplemente un editor de texto ya sea Bloc de Notas/Note Pad, DreamWeaver, EclipsePHP, inclusive en Word.

Nosotros tendremos que crear 3 pagina web que estaran de la siguiente manera:


  • El HTML en donde estara el formulario.
  • El PHP en donde cojera los datos y los enviara por correo.
  • El HTML/PHP que mostrara que el mensaje a sido enviado correctamente.


Comenzaremos con la primer pagina, y como toda pagina HTML indicaremos con las etiquetas que se tratara de una pagina HTML, les pondre el codigo y despues les explico para evitar hacer largo el post.

formulario.html:

Código: html5
<html>
<title>Formulario.</title>
<body>
<form action="enviar.php" method="POST">
Nombre: <input type="text" name="nombre" id="nombre"><br>
Correo: <input type="text" name="correo" id="correo"><br>
Mensaje: <input type="text" name="mensaje" id="mensaje"><br>
<input type="submit" value="Enviar" id="submit"><br>
</form></body></html>


Explicacion:


  • <html> Indicamos que el codigo despues de esa etiqueta es HTML.
  • </html> Indicamos que despues de esta etiqueta no habra mas codigo HTML.
  • <title> </title> Indicamos el titulo de la pagina.
  • <form action="var"> Indicamos que al momento de darle click a el boton de enviar/submit hara un llamado a la pagina que esta entre comillas, en este caso es enviar.php.
  • <form method="POST"> Indica el metodo que utilizaremos para el formulario, en este caso utilizaremos el metodo POST aunque tambien existe el metodo GET, estos dos hacen practicamente lo mismo.
  • <input type="text" name="mensaje" id="mensaje"> Indicamos lo que utilizaremos, en este caso "text" equivale a una casilla de texto, "name" es el nombre que tendra esa casilla de texto que al pasarla a PHP se convierte en una variable, y el id seria practicamente lo mismo.
  • <br> Indica un salto de linea.
  • <input type="submit" value="Enviar" id="submit"> Indica que sera un boton para enviar con el nombre "Enviar", value sera lo que mostrara el boton, si nosotros cambiamos el value por Hola el boton saldra Hola.
  • </form></body></html> Como mencione arriba, es para cerrar las etiquetas.

Ahora procederemos a crear el archivo PHP que obtendra los valores, lo escribire y despues les explico:

Código: php
<?php
$name = $_POST['nombre'];
$mail = $_POST['mail'];
$msg = $_POST['mensaje'];
$carta = "Nombre: ".$name."<br>Correo: ".$mail."<br>Mensaje: ".$msg;
$micorreo = "[email protected]";
$asunto = "Datos del formulario de contacto";
$headers = "MINE-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: Xt3mP. <[email protected]>\r\n";
$headers .= "Reply-To: [email protected]\r\n";
mail($micorreo,$asunto,$carta,$headers);
echo "<meta http-equiv='Refresh' content='1;url=enviado.html'>";
?>



  • <?php Indicamos que se tratara de codigo PHP.
  • $name, $mail, $msg, $carta, $micorreo, $asunto, $headers Son variables con un nombre cualquiera, es como en las matematicas, tu puedes darle el valor que quieras a "X", o a "Y", o a "C", en vez de $mail puedes poner $daniel, siempre y cuando la variable no empieze con un caracter numerico.
  • El signo de = es como en las matematicas, le indica que lo que esta antes es igual a lo que esta despues me explico, x = 10 , esta indicando que X tiene un valor de 10.
  • $_POST Sirve para cojer el valor de una variable, es como para obtener el value, en este caso la variable es la casilla de texto que se encuentra entre "['CASILLA DE TEXTO']".
  • Concatenar significa unir un String/Variable/Texto Plano, lo que hacemos en la variable $carta, el string debera ir en comillas ( " " ) y para concatenar una variable requerimos a el signo de puntuacion ".". Ejemplo: "Hola, me llamo".$nombre;, un ejemplo practico seria "String".$var."String";
    En este caso concatenamos todas las variables para enviar nuestro correo, seria como una carta.
  • En la variable $micorreo le indicamos mediante un String nuestro correo que posteriormente utilizaremos.
  • En la variable $asunto le indicamos mediante un String nuestro asunto que posteriormente utilizaremos.
  • Las variables $headers indican el formato de el correo, este formato lo podran encontrar en google, ahi demasiados, este formato es para indicar que utilizaremos codigo HTML en el correo, les recomiendo cambiar lo de From: y Reply-To:.
  • La funcion mail() indica que se enviara un correo, el orden deseado es de la siguiente manera: "Mail","Asunto","Mensaje","Formato", traten de seguirlo para evitar posibles errores.
  • El comando echo imprime una linea, es por ejemplo para mostrar Hola seria echo "Hola";.
  • <meta http-equiv='Refresh' content='1;url=enviado.html'> Indicamos que haremos un redireccionamiento a la pagina que se encuentra en "URL", y el tiempo de redireccion sera el valor de "CONTENT", en este caso nos redireccionara a enviado.html en 1 segundo.
  • ?> Indica que el codigo PHP ha acabado.
  • Esto es muy importante, el signo " ; " indica el fin de una linea, si usted no pone el ; en cualquier linea (Exepto en bucles) le marcara error de sintaxis, asi que revise muy bien que despues de cada linea este el " ; ".

Por ultimo, la pagina enviado.html seria asi:

Código: html
<html>
<title>Enviado</title>
<body>
El correo ha sido enviado correctamente.<br>
<a href="formulario.html">Enviar otro correo</a>
</body>
</html>


Como usted ya debera de saber, indicamos que se trata de HTML, decimos que el correo ha sido enviado correctamente y damos la facilidad de regresar a el formulario para enviar otro correo mediante el codigo <a href="pag">texto</a>.

Espero que les sea de utilidad, cualquier duda o sugerencia haganmela saber.

Saludos.
Cada vez que me das Karma me motivas

Muy buenos todos estos tutoriales de PHP xt3mp, muy buenos aportes si señor, explicados a la perfeccion..

Me gustan. Muchas gracias.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Muy buenos todos estos tutoriales de PHP xt3mp, muy buenos aportes si señor, explicados a la perfeccion..

Me gustan. Muchas gracias.

Gracias, espero que con esto implementarlos un poco en el área de lo que sería la programación en PHP.
Cada vez que me das Karma me motivas

exelente aporte lo justo que nececito para mi web jij

grax

sigue asi

saludos

m3x1c0h4ck