Necesito que me saqueis de una duda que lleva dandome guerra demasiado tiempo ya!
Tengo un formulario en la web que es enviado a la bbdd para que allí a traves del cms sea visto.
Este es el formulario.
Código:
En inserta-datos.php esta este codigo.<div id="formulario"> <form id="pie" onSubmit="return validar2(this)" action="insertar-datos.php" method="post"> <input type="text" name="nombre" id="nombre" alt="Nombre" value="Nombre" onfocus="cambiar(true,'nombre','Nombre')" onBlur="cambiar(false,'nombre','Nombre')"/> <input type="text" name="mail" id="mail" alt="E-mail" value="E-mail" onFocus="cambiar(true,'mail','E-mail')" onBlur="cambiar(false,'mail','E-mail')" /> <select name="tipo" id="tipo"> <option value="">¿En que podemos ayudarte?</option> <option value="Remedios caseros">Más información sobre:</option> <option value="Plantas medicinales">Envio de articulos</option> <option value="Terapias naturales">Información legal </option> <option value="Diseño publicidad">Sugerencias</option> <option value="Cosmetica natural">Enviarnos tus articulos</option> </select> <label id="msg"><p>Explicanos un poco más.</p></label> <textarea name="msg" class="color" id="msg" alt="Comentario" value="Comentario" onFocus="cambiar(true,'msg','Comentario')" onBlur="cambiar(false,'msg','Comentario')"></textarea> <div id="btn_form"> <input type="submit" value="" /> </div> </form>
Código:
Hasta aqui todo correcto, pero mi duda es la siguiente.<?php $conexion = mysql_connect("localhost","xxxxxx","xxxx"); mysql_select_db("xxxxxxxxxxx",$conexion); // Con esta sentencia SQL insertaremos los datos en la base de datos mysql_query("INSERT INTO tblcontac (strNombre,strEmail,strTelefono,IntTipo,IntConocer,strComentario) VALUES ('{$_POST['nombre']}','{$_POST['mail']}','{$_POST['telefono']}','{$_POST['tipo']}','{$_POST['conocer']}','{$_POST['msg']}')",$conexion); if (mysql_errno()!=0) { echo "No se pudo insertar los datos en la tabla. Error" .mysql_errno() ." - ".mysql_error(); mysql_close($conexion); } else{ $conexion; header("location:enviado.html"); } ?>
Se que tengo que hacer uso de una función mail() en la que le indico a que correo quiero enviar la respuesta del formulario recibido.
Pero donde debo de llamarla?
y como hacerlo correctamente?
Estuve buscando por la red y la verdad no encontre nada claro sobre esto.
Tengo hecho el php para enviarlo al correo.
Código:
Pero si hago una cosa no puedo hacer la otra.<!DOCTYPE html > <html lang="es-es"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <?php $nombre = $_POST['nombre']; $servicios = $_POST['servicios']; $mail = $_POST['mail']; $telefono = $_POST['telefono']; $conocer = $_POST['conocer']; $mensaje = $_POST['msg']; $header = 'From: ' . $mail . " \r\n"; $header .= "X-Mailer: PHP/" . phpversion() . " \r\n"; $header .= "Mime-Version: 1.0 \r\n"; $header .= "Content-Type: text/plain"; $mensaje = "Este correo electronico fue enviado por " . $nombre . " \r\n"; $mensaje .= "Realizando una consulta sobre el siguiente servicio : " . $servicios . " \r\n"; $mensaje .= "Su numero de telefono es el: " . $telefono . " \r\n"; $mensaje .= "Su e-mail es: " . $mail . " \r\n"; $mensaje .= "¿Como nos conocio?".$conocer. " \r\n"; $mensaje .= "Mensaje: " . $_POST['msg'] . " \r\n"; $mensaje .= "Enviado el " . date('d/m/Y', time()); $para = '[email protected]'; $asunto = 'Desde Otra forma de vida'; mail($para, $asunto, utf8_decode($mensaje), $header); /** Validate an email address. Provide email address (raw input) Returns true if the email address has the email address format and the domain exists. */ function isValidEmail($email) { $isValid = true; if (strstr($_SERVER['HTTP_HOST'],'localhost') == FALSE) { $atIndex = strrpos($email, "@"); if (is_bool($atIndex) && !$atIndex) { $isValid = false; } else { $domain = substr($email, $atIndex+1); $local = substr($email, 0, $atIndex); $localLen = strlen($local); $domainLen = strlen($domain); if ($localLen < 1 || $localLen > 64) { // local part length exceeded $isValid = false; } else if ($domainLen < 1 || $domainLen > 255) { // domain part length exceeded $isValid = false; } else if ($local[0] == '.' || $local[$localLen-1] == '.') { // local part starts or ends with '.' $isValid = false; } else if (preg_match('/\\.\\./', $local)) { // local part has two consecutive dots $isValid = false; } else if (!preg_match('/^[A-Za-z0-9\\-\\.]+$/', $domain)) { // character not valid in domain part $isValid = false; } else if (preg_match('/\\.\\./', $domain)) { // domain part has two consecutive dots $isValid = false; } else if (!preg_match('/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$/', str_replace("\\\\","",$local))) { // character not valid in local part unless // local part is quoted if (!preg_match('/^"(\\\\"|[^"])+"$/',str_replace("\\\\","",$local))) $isValid = false; } if ($isValid && !(checkdnsrr($domain,"MX") || checkdnsrr($domain,"A"))) { // domain not found in DNS $isValid = false; } } } return $isValid; } echo "<script>window.location='http://localhost/paxarin/otra-forma/enviado.html</script>"; ?>
Alguien puede decirme como puedo hacerlo? o donde puedo buscar la solución.
Muchas gracias!!