Buenas;
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:
<!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>
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...
¿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!!