Tengo un formulario de contacto en la web, actualmente lo que hace es que lo rellenas (o no), le das a enviar, te sale un cuadro diciendo que se ha enviado correctamente y vuelve a mostrar la pagina del formulario.
Esto me lo hace correctamente, pero cuando intento meter funciones para que me compruebe que se han rellenado 2 campos (nombre y telefono), me empieza a hacer locuras jejeje, es decir, consegui que se muestre una ventana cuando no hay nada en ellos y se le da a enviar, pero igualmente lo envia, asi que he borrado las modificaciones y os pego aqui el codigo de lo que tengo funcionando ahora mismo.
codigo del contacto.html:
Código:
<!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>Contacto</title> <style type="text/css"> <!-- body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; background-color: #FFF; background-image: url(); background-repeat: repeat-x; } .centrado { position: absolute; top: 50%; left: 50%; height: 600px; width: 800px; margin-top: -300px; margin-left: -400px; } #formulario { position:absolute; width:311px; height:298px; z-index:1; left: 409px; top: 166px; } </style> </head> <body> <div class="centrado" id="contenedor"> <div id="formulario"> <form id="form1" name="form1" method="post" action="send.php"> <label for="nombre"><img src="../../imagenes/compartir2.jpg" width="94" height="21" /></label> <input name="nombre" type="text" id="nombre" maxlength="40" /> <p> <label for="telefono"><img src="../../imagenes/compartir2.jpg" width="94" height="21" /></label> <input name="telefono" type="text" id="telefono" maxlength="9" /> </p> <p> <label for="email"><img src="../../imagenes/compartir2.jpg" width="94" height="21" /></label> <input name="email" type="text" id="email" maxlength="50" /> </p> <p> <label for="mensaje"><img src="../../imagenes/compartir2.jpg" width="94" height="21" /></label> <textarea name="mensaje" id="mensaje" cols="41" rows="5"></textarea> </p> <p> <label for="enviar"><img src="../../imagenes/compartir2.jpg" width="94" height="21" /></label> <input type="submit" name="enviar" id="enviar" value="Enviar"/> </p> </form> </div> </div> </body> </html>
Codigo del send.php:
Código:
No se si todo vendra porque tenga mal situadas las funciones del php, la de abrir el popup de mensaje enviado y la de volver a la pagina del formulario...<!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>Documento sin título</title> <script type="text/javascript"> window.alert("El mensaje ha sido enviado. Gracias."); /*Pop up que da el ok de mensaje enviado*/ </script> <script type="text/javascript"> window.history.go(-1) /*Volvemos a la pagina del formulario de envio*/ </script> </head> <body> <?php $nombre = $_POST['nombre']; $telefono=$_POST['telefono']; $email = $_POST['email']; $header = 'From: ' . $email . " \r\n"; $header .= "X-Mailer: PHP/" . phpversion() . " \r\n"; $header .= "Mime-Version: 1.0 \r\n"; $header .= "Content-Type: text/plain"; $mensaje = "Este mensaje fue enviado por " . $nombre . " \r\n"; $mensaje .= "Su telefono es: " . $telefono . " \r\n"; $mensaje .= "Su e-mail es: " . $email . " \r\n"; $mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n"; $mensaje .= "Enviado el " . date('d/m/Y', time()); $para = '[email protected]'; $asunto = 'AVISO DE LA WEB PCATOPE.ES'; mail($para, $asunto, utf8_decode($mensaje), $header); ?> </body> </html>
¿Que puedo hacer para comprobar que en los campos nombre y telefono hay algo antes de enviar y decirle al usuario que los llene y sea entonces cuando los rellene, le de a enviar, salga la ventana de que se ha enviado y vuelva a la pagina del formulario? Llevo toda la tarde desde las 5 intentandolo, leyendo mil posts del foro y nada, no lo consigo...
Muchas gracias y un saludo!!