Formulario de Contacto con SQL

  • Autor Autor mxmex
  • Fecha de inicio Fecha de inicio
M

mxmex

Épsilon
Tengo probando un formulario de contacto que anda muy bien, lo que hace es que una vez que llenan el formulario me llega al email la consulta sin problemas.
Tambien cuando llega la consulta se inserta en la base de datos SQL que cree tambien sin problemas.

Este es el link del Formulario que estoy probandp : » Botas Vaqueras 05_03_15Publimail Landing System

Lo que estoy probando y no lo logro es que cuando le dan enviar haga todo lo anterior que me llegue la consulta, que se inserte en la SQL y tambien deseo que le llegue a la persona un email para darle las gracias, deseo que el email sea enviado con un email de GMAIL para que legue a la bandeja de entrada sin problemas.

Tengo un formulario que utilizaba en otro proyecto que funcionaba perfecto pero no soy experto en PHP y no se que parte copiarle al principal.

CONTACTO.PHP ( este es el que esta funcionando sin problemas y que deseo insertarle la parte de enviar un email dando las gracias ).

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<table width="594" border="0" align="center">
<tr>
<td><p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td width="156">&nbsp;</td>
<td width="428"><?php
/*Formulario de contacto HTML5, PHP Y Bootstraps
Creado por: Render2web
Version: 1.1*/

//Comprobamos que se haya presionado el boton enviar
if(isset($_POST['enviar'])){
//Guardamos en variables los datos enviados
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$telefono = $_POST['telefono'];
$pais = $_POST['pais'];
$estado = $_POST['estado'];
$ciudad = $_POST['ciudad'];
$emailsec = $_POST['emailsec'];
$mensaje = $_POST['mensaje'];

///Validamos del lado del servidor que el nombre y el email no estén vacios
if($nombre == ''){
echo "Informacion";
}
else if($email == ''){
echo "info@lastapatias.com.mx";
}else{
$para = "info@lastapatias.com.mx";//Email al que se enviará
$asunto = "Contacto por Informacion";//Puedes cambiar el asunto del mensaje desde aqui
//Este sería el cuerpo del mensaje
$mensaje = "
<table border='0' cellspacing='3' cellpadding='2'>
<tr>
<td width='30%' align='left' bgcolor='#f0efef'><strong>Nombre:</strong></td>
<td width='80%' align='left'>$nombre</td>
</tr>
<tr>
<td align='left' bgcolor='#f0efef'><strong>E-mail:</strong></td>
<td align='left'>$email</td>
</tr>
<tr>
<td width='30%' align='left' bgcolor='#f0efef'><strong>Teléfono:</strong></td>
<td width='70%' align='left'>$telefono</td>
</tr>
<tr>
<td width='30%' align='left' bgcolor='#f0efef'><strong>Pais:</strong></td>
<td width='70%' align='left'>$pais</td>
</tr>
<tr>
<td width='30%' align='left' bgcolor='#f0efef'><strong>Estado:</strong></td>
<td width='70%' align='left'>$estado</td>
</tr>
<tr>
<td width='30%' align='left' bgcolor='#f0efef'><strong>Ciudad:</strong></td>
<td width='70%' align='left'>$ciudad</td>
</tr>
<tr>
<td width='30%' align='left' bgcolor='#f0efef'><strong>Email Secundario:</strong></td>
<td width='70%' align='left'>$emailsec</td>
</tr>
<tr>
<td align='left' bgcolor='#f0efef'><strong>Comentario:</strong></td>
<td align='left'>$mensaje</td>
</tr>
</table>
";


$link = mysql_connect("localhost","lastapat_usero","contraseña");


mysql_select_db("lastapat_user",$link);


mysql_query("INSERT INTO usuarios (nombre,email,telefono,pais,estado,ciudad,emailsec,mensaje) VALUES ('".mysql_real_escape_string($_POST['nombre'])."','".mysql_real_escape_string($_POST['email'])."','".mysql_real_escape_string($_POST['telefono'])."','".mysql_real_escape_string($_POST['pais'])."','".mysql_real_escape_string($_POST['estado'])."','".mysql_real_escape_string($_POST['ciudad'])."','".mysql_real_escape_string($_POST['emailsec'])."','".mysql_real_escape_string($_POST['mensaje'])."')",$link);

//Cabeceras del correo
$headers = "From: $nombre <$email>\r\n"; //Quien envia?
$headers .= "X-Mailer: PHP5\n";
$headers .= 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; //

//Comprobamos que los datos enviados a la función MAIL de PHP estén bien y si es correcto enviamos
if(@mail($para, $asunto, $mensaje, $headers)){
echo "Su mensaje se ha enviado correctamente";
echo "<br />";
echo '<a href="../index.html">Regresar a la Pagina Principal</a>';
}else{
echo "Hubo un error en el envío inténtelo más tarde";
}
}
}
?></td>
</tr>
</table>
</body>
</html>

-------------------------------------------------------------------------------------

Este es el otro PHP que me funciona bien en otro proyecto pero quiero sacar la parte que envia el email para dar las gracias pero no se parte copiar a
CONTACTO.PHP


<?php

error_reporting(0);



if(isset($_POST['nombre']) && !empty($_POST['nombre']) &&


isset($_POST['email']) && !empty($_POST['email']) &&


isset($_POST['telefono']) && !empty($_POST['telefono']) &&


isset($_POST['ciudad']) && !empty($_POST['ciudad']) &&


isset ($_POST['pais']) && !empty($_POST['pais']) &&


isset ($_POST['mensaje']) && !empty($_POST['mensaje'])) {



$email = trim($_POST['email']);



if(!preg_match("/[A-Za-z0-9\._%-]+\@[A-Za-z0-9\._%-]+/",$email)) { header("Location: NL-ko.htm"); exit; }



$link = mysql_connect("localhost","lastapat_user","contraseña");


mysql_select_db("lastapat_user",$link);


mysql_query("INSERT INTO usuarios (nombre,email,telefono,ciudad,pais,mensaje) VALUES ('".mysql_real_escape_string($_POST['nombre'])."','".mysql_real_escape_string($_POST['password'])."','".mysql_real_escape_string($_POST['telefono'])."','".mysql_real_escape_string($email)."','".mysql_real_escape_string($_POST['pais'])."','".mysql_real_escape_string($_POST['mensaje'])."')",$link);





$my_error = mysql_error($link);





if(!empty($my_error)) {


header("Location: http://www.lastapatias.com.mx/html/error.html");


} else {



include("class.phpmailer.php");


include("class.smtp.php");




$scriptUrl = "http://www.lastapatias.com.mx/html/confirmar.php?email=".$email;




$mail = new PHPMailer();


$mail->IsSMTP();


$mail->SMTPAuth = true;


$mail->SMTPSecure = "ssl";


$mail->Host = "smtp.gmail.com";


$mail->Port = 465;


$mail->Username = "sol12@gmail.com";


$mail->Password = "contraseña";



$mail->From = "sol12@gmail.com";


$mail->FromName = "Las Tapatias";


$mail->Subject = "Gracias por tu Mensaje";


$mail->MsgHTML("Bienvenido/a {$_POST['nombre']}, gracias por tu mensaje a las tapatias<br><br>Para confirmar tu Registro da Click en el link de abajo:<br><br><a href=\"$scriptUrl\" target=\"_blank\">$scriptUrl</a><br><br>Si no deseas Suscribirte solamente ignora este mensaje.");


$mail->AddAttachment("files/files.zip");


$mail->AddAttachment("files/img03.jpg");


$mail->AddAddress($email, "Destinatario");

$mail->IsHTML(true);



if(!$mail->Send()) {

echo "Error: " . $mail->ErrorInfo;

} else {


header("Location: NL-ok.htm");

}


}


} else {


header("Location: http://www.lastapatias.com.mx/html/error.html");


}

?>

-------------------------------------------------------------------------------

Espero alguien me pudiera ayudar solo me falta esa parte.
Muchas gracias
 
El email que envia es

PHP:
$mail->From = "sol12@gmail.com";

Puedes poner cualquier email ahi, en el primer caso, el correo lo envias con esto

PHP:
$headers = "From: $nombre <$email>\r\n"; //Quien envia? aqui es adonde pones el mail de gmail
$headers .= "X-Mailer: PHP5\n";
$headers .= 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; //

- - - Actualizado - - -

o copia esto

PHP:
include("class.phpmailer.php");


include("class.smtp.php");


$mail = new PHPMailer();


$mail->IsSMTP();


$mail->SMTPAuth = true;


$mail->SMTPSecure = "ssl";


$mail->Host = "smtp.gmail.com";


$mail->Port = 465;// no se si este es el puerto que utilizas para enviar


$mail->From = "sol12@gmail.com";// aqui pones el email del que envia


$mail->FromName = "Las Tapatias";// quien lo envia


$mail->Subject = "Gracias por tu Mensaje";

//este es el cuerpo
$mail->MsgHTML("Bienvenido/a {$_POST['nombre']}, gracias por tu mensaje a las tapatias<br><br>Para confirmar tu Registro da Click en el link de abajo:<br><br><a href=\"$scriptUrl\" target=\"_blank\">$scriptUrl</a><br><br>Si no deseas Suscribirte solamente ignora este mensaje.");


$mail->AddAddress($email, "Destinatario"); //aqui pones el mail a quien se lo envias

$mail->IsHTML(true);

$mail->Send()
 
Última edición:
gracias pero ni idea lo inserte pero da miles de errores igual creo que no se podra.
Si alguien me cobra para hacerlo agradezco precio via inbox y le paso el codigo.
gracias.

- - - Actualizado - - -

Inserte la parte NARANJA para que le llegue al email del quien llena el formulario un email con las gracias, pero no da error solo me llega a mi la conuslta pero el email de gracias no llega

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<table width="594" border="0" align="center">
<tr>
<td><p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td width="156">&nbsp;</td>
<td width="428"><?php
/*Formulario de contacto HTML5, PHP Y Bootstraps
Creado por: www.render2web.com
Version: 1.1*/

//Comprobamos que se haya presionado el boton enviar
if(isset($_POST['enviar'])){
//Guardamos en variables los datos enviados
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$telefono = $_POST['telefono'];
$pais = $_POST['pais'];
$estado = $_POST['estado'];
$ciudad = $_POST['ciudad'];
$emailsec = $_POST['emailsec'];
$mensaje = $_POST['mensaje'];

///Validamos del lado del servidor que el nombre y el email no estén vacios
if($nombre == ''){
echo "Tapatias";
}
else if($email == ''){
echo "info@lastapatias.com.mx";
}else{
$para = "info@lastapatias.com.mx";//Email al que se enviará
$asunto = "Las Tapatias";//Puedes cambiar el asunto del mensaje desde aqui
//Este sería el cuerpo del mensaje
$mensaje = "
<table border='0' cellspacing='3' cellpadding='2'>
<tr>
<td width='30%' align='left' bgcolor='#f0efef'><strong>Nombre:</strong></td>
<td width='80%' align='left'>$nombre</td>
</tr>
<tr>
<td align='left' bgcolor='#f0efef'><strong>E-mail:</strong></td>
<td align='left'>$email</td>
</tr>
<tr>
<td width='30%' align='left' bgcolor='#f0efef'><strong>Teléfono:</strong></td>
<td width='70%' align='left'>$telefono</td>
</tr>
<tr>
<td width='30%' align='left' bgcolor='#f0efef'><strong>Pais:</strong></td>
<td width='70%' align='left'>$pais</td>
</tr>
<tr>
<td width='30%' align='left' bgcolor='#f0efef'><strong>Estado:</strong></td>
<td width='70%' align='left'>$estado</td>
</tr>
<tr>
<td width='30%' align='left' bgcolor='#f0efef'><strong>Ciudad:</strong></td>
<td width='70%' align='left'>$ciudad</td>
</tr>
<tr>
<td width='30%' align='left' bgcolor='#f0efef'><strong>Email Secundario:</strong></td>
<td width='70%' align='left'>$emailsec</td>
</tr>
<tr>
<td align='left' bgcolor='#f0efef'><strong>Comentario:</strong></td>
<td align='left'>$mensaje</td>
</tr>
</table>
";


$link = mysql_connect("localhost","lastapat_user","clave");


mysql_select_db("lastapat_user",$link);


mysql_query("INSERT INTO usuarios (nombre,email,telefono,pais,estado,ciudad,emailsec,mensaje) VALUES ('".mysql_real_escape_string($_POST['nombre'])."','".mysql_real_escape_string($_POST['email'])."','".mysql_real_escape_string($_POST['telefono'])."','".mysql_real_escape_string($_POST['pais'])."','".mysql_real_escape_string($_POST['estado'])."','".mysql_real_escape_string($_POST['ciudad'])."','".mysql_real_escape_string($_POST['emailsec'])."','".mysql_real_escape_string($_POST['mensaje'])."')",$link);

//Cabeceras del correo
$headers = "From: $nombre <$email>\r\n"; //Quien envia?
$headers .= "X-Mailer: PHP5\n";
$headers .= 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; //



//Comprobamos que los datos enviados a la función MAIL de PHP estén bien y si es correcto enviamos
if(@mail($para, $asunto, $mensaje, $headers)){
echo "Su mensaje se ha enviado correctamente";
echo "<br />";
echo '<a href="../index.html">Regresar a la Pagina Principal</a>';
}else{
echo "Hubo un error en el envío inténtelo más tarde";

}
}
}

include("class.phpmailer.php");


include("class.smtp.php");


$mail = new PHPMailer();


$mail->IsSMTP();


$mail->SMTPAuth = true;


$mail->SMTPSecure = "ssl";


$mail->Host = "smtp.gmail.com";


$mail->Port = 465;// no se si este es el puerto que utilizas para enviar


$mail->From = "lastapatiastaquizas@gmail.com";// aqui pones el email del que envia
$mail->Password = "lastapatias";



$mail->From = "lastapatiastaquizas@gmail.com";


$mail->FromName = "Las Tapatias";// quien lo envia


$mail->Subject = "Gracias por tu Mensaje";

//este es el cuerpo
$mail->MsgHTML("Bienvenido/a {$_POST['nombre']}, gracias por tu mensaje a las tapatias<br><br>Para confirmar tu Registro da Click en el link de abajo:<br><br><a href=\"$scriptUrl\" target=\"_blank\">$scriptUrl</a><br><br>Si no deseas Suscribirte solamente ignora este mensaje.");


$mail->AddAddress($email, "Destinatario"); //aqui pones el mail a quien se lo envias

$mail->IsHTML(true);

$mail->Send()

?></td>
</tr>
</table>
</body>
</html>
 
Faltan algunas cosas, te las resalto, puedes ver un ejemplo en esta direccion
Envío de email en PHP usando el servidor SMTP de Gmail



PHP:
include("class.phpmailer.php");


include("class.smtp.php");


$mail = new PHPMailer();


$mail->IsSMTP();


$mail->SMTPAuth = true;


$mail->SMTPSecure = "ssl";


$mail->Host = "smtp.gmail.com";


$mail->Port = 465;// no se si este es el puerto que utilizas para enviar

//////////////indico un usuario / clave de un usuario de gmail
$mail*>Username = "tu_correo_electronico_gmail@gmail.com";
$mail*>Password = "tu clave";
///////////////////////////////////////////

$mail*>SetFrom('tu_correo_electronico_gmail@gmail.com', 'Nombre completo');
$mail*>AddReplyTo("tu_correo_electronico_gmail@gmail.com","Nombre completo");

$mail->Subject = "Gracias por tu Mensaje";

//este es el cuerpo
$mail->MsgHTML("Bienvenido/a {$_POST['nombre']}, gracias por tu mensaje a las tapatias<br><br>Para confirmar tu Registro da Click en el link de abajo:<br><br><a href=\"$scriptUrl\" target=\"_blank\">$scriptUrl</a><br><br>Si no deseas Suscribirte solamente ignora este mensaje.");


$mail->AddAddress($email, "Destinatario"); //aqui pones el mail a quien se lo envias

if(!$mail*>Send()) {
echo "Error al enviar: " . $mail*>ErrorInfo;
} else {

//Lo quitamos si no quieres que el usuario vea un mensaje
//echo "Mensaje enviado!";
}
 
Atrás
Arriba