DISEÑO WEB BILBAO - BIZKAIA
Teléfono Bilbao Bizkaia94 412 66 22

Formulario de contacto con PHP:

Para crear un formulario de contacto para su página web, lo mejor y más sencillo es utilizar código PHP para crear y enviar el formulario, ya que ofrece muchas posibilidades y mayor versatilidad,  a día de hoy no recomendamos el uso de CGI's que pueden haber quedado obsoletos.


Tendrá que utilizar la función mail de php.
Para ello, lo primero que tiene que hacer es crear un archivo nuevo, por ejemplo: contactar.php y subirlo al servidor.
 
Un par de notas sobre el php:
- Cuando metamos algo de PHP dentro del código HTML, deberá estar entre las etiquetas:
<?php
...............
...........
...........
?>
- Cada línea de PHP termina con el carácter de punto y coma ;
- Las variables en php tienen el símbolo $ delante.
- Los textos normales en PHP se escriben dentro de comillas.
- Si queremos que una linea sea sólo informativa (y que no salga en la página), le pondremos delante dos barras: //
- Las funciones de php suelen necesitar varias variables para funcionar correctamente:
 
En concreto, la función mail, que es la que se encarga de enviar correos, necesita que le pasemos 4 variables
mail($emaildestino,$asunto,$cuerpo,$cabeceras);
ejemplo:
mail("info@tudominio.com", "Formulario web" , "Hola que tal", "From: Abaco Creacion");
 
Esto enviaría un correo a info@tudominio.com, con el asunto Formulario web y con Ábaco Creación como remitente
 
A continuación mostramos el código completo de un hipotético formulario que utiliza PHP:
supongamos que el archivo se llama: contactar.php
 
 
 
<html>
<head>
<title>Mándanos tus comentarios</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body text="#FFFF99" link="#006060" vlink="#006060">
<?php
if (!$_POST){
//todavía  el visitante no ha rellenado el formulario, así que lo mostramos
?>

<form action="contactar.php" method=post>
<table>
  <tr><td>Nombre: </td><td><input type=text name="nombre" size=16> </td></tr>
   <tr><td>Email: </td><td><input type=text name="email" size=16> </td></tr>
   <tr><td>Comentarios: </td><td><textarea name="coment" cols=32 rows=6></textarea></td></tr>
  <tr><td></td><td><input type=submit value="Enviar"> </td></tr>
 </table>
</form>
<?php
}else{
    //Estoy recibiendo el formulario, compongo el cuerpo del mensaje
    $cuerpo = "Formulario enviado\n";
    $cuerpo .= "Nombre: " . $_POST["nombre"] . "\n";
    $cuerpo .= "Email: " . $_POST["email"] . "\n";
    $cuerpo .= "Comentarios: " . $_POST["coment"] . "\n";
 $cabeceras="From: ".$_POST["email"]."\r\n"."Reply-To: ".$_POST["email"]."\r\n";
 
    //mando el correo...
    mail("
info@tudominio.com" , "Formulario recibido", $cuerpo, $cabeceras);
 
    //doy las gracias por el envío
    echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
}
?>
</body>
</html>
 
 

Si el formulario tiene mas campos ( en este caso, solo tiene el nombre, el email y los comentarios), se funcionaría de la misma manera, añadiendo más líneas al cuerpo del mensaje.