Formulario de contacto en PHP PHP
Publicado: 22 de Dic del 2008Prohibida la reproducción total o parcial de este artículo sin el previo consentimiento de Webtutoriales.com
Script en PHP para recibir comentarios de tus visitantes
En este tutorial veremos cómo crear un formulario de contacto en PHP. Al finalizar, los usuarios podrán rellenarlo y recibiremos sus comentarios por email.
Formulario HTML
Crearemos un archivo llamado contactar.php que contendrá el formulario de contacto en HTML.
<form action="contactar.php" method="post"> <p> <label for="mensaje">Mensaje</label><textarea name="mensaje"></textarea></p> <p> <input type="submit" value="Enviar" /> <input name="accion" type="hidden" value="enviar_comentario" /></p> </form>
En el tag form de html definiremos el método de envío del formulario a POST. También es importante que en el atributo action escribamos el nombre del archivo que se ejecutará cuando el usuario haga clic en el botón de envío. En este caso llamaremos el mismo archivo en el que estamos contactar.php (Aunque no es obligatorio, nuestro script PHP para procesar el formulario también se encontrará en el mismo archivo que el formulario).
Finalmente definiremos un campo invisible "hidden", de nombre accion y valor enviar_comentario que servirá para controlar que el usuario haya ejecutado el formulario.
Script PHP
Primero comprobaremos que la variable acción (La que habíamos añadido en modo invisible en el formulario HTML) tenga valor. Si lo tiene ya podemos procesar los datos y enviar el comentario a una dirección de correo que queramos.
if(isset($_POST['accion']) && $_POST['accion']=="enviar_comentario"){
$mensaje = addslashes($_POST['mensaje']);
if(mail("tuemail@email.com","Formulario de Contacto",$mensaje)){
echo "Gracias por enviar el email, pronto lo leeremos.";
}else{
echo "No se pudo enviar el email.";
}
}else{
// Aquí va el formulario HTML
}
Código Completo
A continuación mostramos el código completo del script para un formulario de contacto.
<?php
if(isset($_POST['accion']) && $_POST['accion']=="enviar_comentario"){
$mensaje = addslashes($_POST['mensaje']);
if(mail("tuemail@email.com","Formulario de Contacto",$mensaje)){
echo "Gracias por enviar el email, pronto lo leeremos.";
}else{
echo "No se pudo enviar el email.";
}
}else{
?>
<form action="contactar.php" method="post">
<p>
<label for="mensaje">Mensaje</label>
<textarea name="mensaje"></textarea>
</p>
<p>
<input type="submit" value="Enviar" />
<input type="hidden" name="accion" value="enviar_comentario">
</p>
</form>
<?}?>
Si todo ha salido correctamente, se habrá enviado un email a la cuenta correspondiente con el mensaje entrado.
Comentarios
Artículos relacionadosVer más
- Calcular el tiempo exacto entre dos fechas
- Clase para conectar php con mysql
- Tipos de funciones para Expresiones Regulares
- Comparar Fechas en PHP
- Crear archivos en PHP
- Public, Private y Protected
- Programación Orientada a Objetos
- Formulario de contacto en PHP
- Modelo Vista Controlador
- Mostrar resultados por columnas