Formulario de contacto en PHP para Blogger

Formulario de contacto en php para bloggerUn recurso que buscamos permanentemente quienes tenemos blogs en Blogger son los formularios de contacto, lo cierto es que tenemos para escoger pues los servicios externos de formularios de contacto abundan, la mayoría tienen un límite mensual de mensajes, otros son ilimitados pero no se pueden personalizar o traducir, o simplemente no se puede adaptar su apariencia a la estética del blog.

Después de probar muchas de estas opciones decidí, utilizar en mi blog un formulario de contacto en PHP, pues aunque encontré uno muy bueno que era ilimitado, gratis, personalizable y que no redirigía a la pagina del servicio al enviar un mensaje tenia en contra que es un poco limitado en cuanto a sus colores.

Manos a la obra

1. Lo primero que debemos hacer es conseguir un formulario hecho en html y PHP con validación en java, es decir:

Formulario en html - la pantalla que nos pide los datos y carga el archivo de validación que llamara a PHP, dicho de forma simple es lo que vemos.
Validación en java - la parte en java que llamara a PHP desde Blogger y que además verificara que se utilicen datos validos.
Archivo PHP - este archivo es el que ejecuta el proceso de enviar el email.

Podríamos usar un formulario que su parte visible sea también en PHP, pero tendríamos el inconveniente que no se abriría en el blog, a menos que lo hagamos por medio de una ventana modal.

En mi caso utilice este formulario que encontré en el blog de dasumo.

Archivo html
<html>

<head>

<title>Formulario de Contacto en PHP por Dasumo</title>

<!-- Archivo de validación colocar dentro de HEAD /HEAD -->

<script type="text/javascript" src="validar.js"></script>

<!-- Fin Archivo de validación -->

</head>

<body>

<!-- Formulario de contacto colocar dentro de BODY /BODY-->

<div align="center">

<form method="post" action="contacto.php" onsubmit="return Validar(this);">

    <label for="name">Nombre Completo:<br>

    <input id="name" name="name" type="text" size="27"> </label><br><br>

    <label for="email">Correo Electrónico:<br>

    <input id="email" name="email" type="text" size="27"> </label><br><br>

    <label for="subject">Asunto:<br>

    <input id="subject" name="subject" type="text" size="27">

    </label><br><br>

    <label for="message">Mensaje: <br>

    <textarea name="message" id="message" rows="5" cols="30"></textarea>

    </label><br><br>

    <input type="submit" name="submit" value="Enviar" /><br>

</form>

</div>

<!-- Fin Formulario de contacto -->

</body>

</html>

Archivo de validación


//Función que verifica campos del formulario vacíos

function Validar(f) {

if (f.name.value=="") {

    alert("Por favor escriba su Nombre completo");

    f.name.focus();

    return false;

    }

if (f.email.value=="") {

    alert("Por favor escriba su direcci\xF3n de correo electr\xF3nico");

    f.email.focus();

    return false;

    }

if (f.subject.value=="") {

    alert("Por favor escriba el asunto de su Mensaje");

    f.subject.focus();

    return false;

    }

if (f.message.value=="") {

    alert("Por favor escriba su Mensaje.");

    f.message.focus();

    return false;

    }

}

Archivo PHP


<?php

//Importamos las variables del formulario

@$name = addslashes($_POST['name']);

@$email = addslashes($_POST['email']);

@$subject = addslashes($_POST['subject']);

@$message = addslashes($_POST['message']);

//Preparamos el mensaje de contacto

$cabeceras = "From: $email\n" //La persona que envia el correo

 . "Reply-To: $email\n";

$asunto = "$subject"; //El asunto

$email_to = "tudirecciondecorreo@algo.com"; //cambiar por tu email

$contenido = "$name le ha enviado el siguiente mensaje:\n"

. "\n"

. "$message\n"

. "\n";

//Enviamos el mensaje y comprobamos el resultado

if (@mail($email_to, $asunto ,$contenido ,$cabeceras )) {

//Si el mensaje se envía muestra una confirmación

die("Muchas gracias, su mensaje fue enviado correctamente");

}else{

//Si el mensaje no se envía muestra el mensaje de error

die("Error: Su mensaje no pudo ser enviado, intente más tarde");

}

?>


2. Modificamos el archivo PHP para que envíe los mensajes a nuestro correo y lo subimos a un hosting, puede ser uno gratis de los que tanto hay por ahí.

3. Subimos el archivo de validación al hosting o a dropbox (o a google code, etc con los scripts tenemos mas opciones).

4. Ahora creamos en Blogger la pagina donde va a estar el formulario, le damos en vista html y ahi copiamos el contenido del archivo html

Formulario en php para Blogger


5. Con el archivo de validación tenemos 2 opciones podemos dejarlo tal como esta en el contenido de la pagina o podemos cargarlo directamente en la plantilla del blog pegando la linea antes del </head>

<script src='http://url del archivo/validar.js' type='text/javascript'></script>


si la ponemos en la plantilla del blog la quitamos de la página y si no la ponemos la dejamos.

En src="validar.js" ponemos la dirección donde subimos el archivo y lo mismo con action="contacto.PHP".

Por lo que quedaran asi:

src="http://url del hosting dropbox o algo/validar.js"

action="http://url del hosting/contacto.PHP"

Guardamos y ya tenemos nuestro formulario de contacto en PHP en nuestro blog, que además de ser proporcionado por nosotros mismos es ilimitado.

6. Para que redireccione de nuevo a nuestro blog después de que se envié el mensaje simplemente, vamos a la linea donde dice "muchas gracias, su mensaje ha sido enviado correctamente" y cambiamos el die por echo y debajo de esa linea agregamos lo siguiente para que redireccione automaticamente:

echo '<script type="text/javascript">

  function redirection(){  

  window.location ="http://dirección de la pagina.com";

  }  setTimeout ("redirection()", 10000); //tiempo en milisegundos

  </script>';