Buenas tardes. Tengo un problema a la hora de validar los campos de un formulario y necesitaria ayuda con esto.
Les muestro el formulario:
Código HTML:
<form method="post" class="signin">
<fieldset class="textbox">
<label class="username">
<span>
<strong>
Nombre y Apellido
</strong>
</span>
<input id="username" name="username" value="" type="text" autocomplete="on" placeholder="Escribe aquí...">
</label>
<label class="mail">
<span>
<strong>
Su Email
</strong>
</span>
<input id="mail" name="mail" value="" type="text" autocomplete="on" placeholder="Escribe aquí...">
</label>
<label class="reason">
<span>
<strong>
Motivo
</strong>
</span>
<input id="subject" name="subject" value="" type="text" autocomplete="on" placeholder="Escribe aquí...">
</label>
<label class="comment">
<span>
<strong>
Consultas
</strong>
</span>
<textarea name="comments" cols="25" rows="10" id="comments" style="resize:none;" placeholder="Escriba aquí* su consulta..." type="text"></textarea>
</label>
<input class="submit button" type="submit" name="send" value="Enviar"></button>
</fieldset>
</form>
y acá esta la validación PHP:
Código PHP:
if(isset($_POST['send']))
{
if(!isset($_POST['username']) || !isset($_POST['mail']) || !isset($_POST['subject']) || !isset($_POST['comments']))
{
echo "<script> alert('No ha completado todo los datos') </script>;";
}
else
{
$mensaje = "Hola,\n\n\n ".$_POST['username']." se ha contactado contigo a través de www.XxXxXxXx.com.ar.\n\n A continuación el detalle de la consulta:\n\nEmail: ".$_POST['mail']."\n\n Motivo de la consulta: ".$_POST['subject']."\n\n La consulta: ".$_POST['comments'];
if(mail("[email protected]","Se han contactado contigo a través de: XxXxXxXx.com.ar", $mensaje))
{
echo "<script> alert('Se ha enviado con éxito') </script>;";
}
else
{
echo "<script> alert('Fallo del envío. Compruebe que estén todos los datos y vuelva a intentarlo') </script>;";
}
}
};
El problema acá es que, cuando hago click en el botón "Enviar" sin completar los campos, entra en los diferentes IF hasta que llega al "echo "<script> alert('Se ha enviado con éxito') </script>", lo imprime y manda el mail sin haber completado los campos..... Como podría solucionarlo para que no se pueda enviar hasta que los campos esten validados realmente?
Muchas gracias.