Lenguaje PHP

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.

 

Sistema de contacto y guarda base de datos
Sistema de contacto y guarda base de datos

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>
Almacenar formulario de contacto en MySQL Database
Almacenar formulario de contacto en MySQL Database

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

Descargar Código Fuente

almacenar-formulario-de-contacto-en-mysql-database

Mostrar más

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.
Botón volver arriba
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad