Almacenar formulario de contacto en MySQL Database
Almacenar formulario de contacto en MySQL Database. En este artículo veremos cómo aprovechar en guardar los datos que ingresan los visitantes en una base de datos, por ejemplo MySQL, por tanto este script PHP procesara el formulario completado por el visitante y lo enviara a un correo electrónico predefinido. Éstos códigos pueden estar ubicados dentro del archivo, o sino externamente, ahora veremos un ejemplo de implementación del mismo.
Sin embargo, tenemos que tener unos requisitos y/o herramientas para lograr nuestro objetivo.
- Tener un formulario amigable para el usuario.
- Una base de datos con su respetiva tabla para almacenar la información.
- Una configuración de conexión de la base de datos con nuestro formulario.
Nuestro formulario debe contener elementos básicos para recoger los datos de manera correcta.
Este formulario debe contener estos elementos, puede agregar más campos de entrada también en función de su requerimiento. Estoy utilizando estos campos Nombre de entrada, correo electrónico, asunto de contacto y mensaje.

Almacenar formulario de contacto en MySQL Database
Ahora, primero se tiene que enviar un correo electrónico, sin embargo, en ese envió se extenderá las funciones de este formulario de contacto para que pueda capturar y enviar los datos a la base de datos. También, se puede incluir captcha por motivos de seguridad.
Ejemplo #01 Creando recursos necesarios para lograr nuestro objetivo.
a) Base de datos y tabla
CREATE TABLE IF NOT EXISTS `contacto` ( `id` int(11) NOT NULL auto_increment, `name` varchar(70) default NULL, `email` varchar(70) default NULL, `subject` varchar(150) default NULL, `message` varchar(350) default NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
b) Archivo styles.css
body { padding-top: 40px; padding-bottom: 40px; background-color: #eee; } .form-contact { max-width: 330px; padding: 15px; margin: 0 auto; } .form-contact .form-contact-heading, .form-contact .checkbox { margin-bottom: 10px; } .form-contact .checkbox { font-weight: normal; } .form-contact .form-control { position: relative; height: auto; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 10px; font-size: 16px; } .form-contact .form-control:focus { z-index: 2; } .form-contact input, textarea, button { margin: 5px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; }
c) Archivo conexion.php
<?php $connection = mysqli_connect('localhost', 'root', 'root'); if (!$connection){ die("Fallo la conexion con la base de datos" . mysqli_error($connection)); } $select_db = mysqli_select_db($connection, 'baul'); if (!$select_db){ die("Database seleccionada ha fallado" . mysqli_error($connection)); } ?>
d) Archivo contacto.php
<?php include('conexion.php'); if((isset($_POST['name']) && !empty($_POST['name'])) && (isset($_POST['email']) && !empty($_POST['email'])) && (isset($_POST['subject']) && !empty($_POST['subject']))){ $name = $_POST['name']; $email = $_POST['email']; $subject = $_POST['subject']; $message = $_POST['message']; $to = "TU-EMAIL@gmail.com"; $headers = "From : " . $email; if( mail($to, $subject, $message, $headers)){ $query = "INSERT INTO `contacto` (name, email, subject, message) VALUES ('$name', '$email', '$subject', '$message')"; $result = mysqli_query($connection, $query); echo "<center>E-Mail Enviado con exito, nos pondremos en contacto con usted pronto.</center>"; } } ?> <html> <head> <title>Simple Contacto Formulario en PHP</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" > <link rel="stylesheet" href="styles.css" > </head> <body> <div class="container"> <form class="form-contact" method="POST"> <h2 class="form-contact-heading">Sistema de contacto</h2> <label for="inputName" class="sr-only">Nombres</label> <input type="name" name="name" id="inputName" class="form-control" placeholder="Su nombre" required> <label for="inputEmail" class="sr-only">E-Mail</label> <input type="email" name="email" id="inputEmail" class="form-control" placeholder="name@email.com" required> <label for="inputSubject" class="sr-only">Asunto</label> <input type="name" name="subject" id="inputSubject" class="form-control" placeholder="Asunto" required> <label for="inputMessage" class="sr-only">Mensaje</label> <textarea name="message" class="form-control" id="inputMessage" rows="3"></textarea> <button class="btn btn-lg btn-primary btn-block" type="submit">Enviar Formulario</button> </form> </div> </body> </html>

Espero que el código les sea de utilidad, saludos a la distancia.
Descargar Código Fuente