viernes, 2 de agosto de 2013

Formulario de contacto PHP

Ya hemos visto como hacer formularios en HTML, sin embargo, si queremos que estos sirvan para contactar con nosotros (enviandonos un mail de forma automatica) deberemos crear una segunda pagina que contenga el código en PHP para hacer ésto. Primero veamos de nuevo el código de nuestro formulario en HTML.

<form action="pagina2.php" method="post">

Nombre: <input name="nombre" type="text" /><br />

Edad: &nbsp; &nbsp; &nbsp;<input name="edad" size="4" type="text" /><br />

<textarea name="exp" style="height: 47px; margin: 2px; width: 209px;">Experiencia</textarea><br />
<input type="submit" value="enviar datos" />
</form>

Ahora expliquemos el código línea por línea:

  1. action = " pagina2.php " nos indica en que página estará el código que nos enviara el mail. method = " post " nos indica como se envian los datos, podemos poner get  o post pero para un formulario siempre suele usarse el método post.
  2. name = " nombre " nos servirá para poder acceder a la información utilizando el comando $_REQUEST['nombre']. Nos servira igual para name = " edad "  y  name = " exp ".
  3. input type = " submit "  para indicar al boton que debe enviar los datos i value lo que queremos que el botón muestre.
Una vez tengamos el formulario listo debemos crear una nueva página en la que incluir el siguiente código:

<?php

 $a = "nuestromail@ejemplo.com";

 $asunto = $_REQUEST['nombre'];

 $cuerpo = "Edad " . $_REQUEST['edad'] . " Experiencia: " . $_REQUEST['exp'];

 mail($a, $asunto, $cuerpo)

 ?>

Y ahora volvamos a ver línea por línea lo que este código hace:

  1. <?php ya sabemos que sirve para indicar que lo que viene a continuación sera código en PHP.
  2. $a = "nuestromail@ejemplo.com" simplemente asigna a la variable $a  un mail que nosotros queramos (que será al que enviaremos la información).
  3. $asunto = $_REQUEST['nombre']; nos indica que ahora la variable $asunto  contiene la información del campo nombre de nuestro formulario. La instruccion $_REQUEST  sirve para pedir ésta información al formulario.
  4. $cuerpo = "Edad " . $_REQUEST['edad'] . " Experiencia: " . $_REQUEST['exp']; Aquí lo que hacemos es concatenar las cadenas de texto para que queden unidas unas a otras, de forma que si por ejemplo el campo edad  contiene "26" y el campo exp  contiene "dos años de experiencia trabajando como veterinario" el resultado de $cuerpo sería "Edad 26 Experiencia: dos años de trabajo como veterinario".
  5. En esta linea utilizamos el comando mail  que tiene la siguiente estructura:
  6. mail ( destinatario , asunto, cuerpo del mensaje);

    destinatario: Aqui pondremos el mail de destino.

    asunto: Éste sera el asunto que se muestre en el mail.

    cuerpo del mensaje: Aqui vendra el texto mostrado dentro del mail.
  7. ?>  indica el cierre del codigo PHP.
Una vez hemos creado ambas páginas podemos ver de forma practica que es lo que pasa con un ejemplo práctico en:



Y una vez le demos a enviar nos llegará un mail con la siguiente información:




                                       

0 comentarios: