Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/08/2010, 10:15
PanzerMetal
 
Fecha de Ingreso: agosto-2010
Mensajes: 5
Antigüedad: 13 años, 8 meses
Puntos: 0
Error validar datos?

Antes de nada pedir disculpas por si este post no esta en la sección correcta, yo creo que si pues es de php. Bueno, al lio :

Bien, resulta que tengo una web alojada en 1and1 y tengo programadas varias funciones php para la gestión y envio de datos desde un formulario por via mail.El caso es que se supone que antes de enviar el correo pasa un script de validación para asegurarme de que los datos se hayan introducido de forma correcta, todo funciona aparentemente bien, no permite enviar correos en blanco ni que se pongan datos incorrectos en los campos,envia los correos y me llegan genial, pero digo aparentemente porque resulta que de vez en cuando me llegan correos en blanco.

He revisado una y otra vez las funciones php y los script de validación, he hecho pruebas directamente desde los formularios colgados en la página web y en ninguno me permite enviar los datos sin rellenar. Pero aun así algunos correos me llegan en blanco.

Aqui les dejo una muestra del Form y otra del php que uso, a ver si es fallo mio y no soy capaz de verlo o es otra cosa.
--------------------------------------------------------------------------------------------------------
form html
--------------------------------------------------------------------------------------------------------
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<style type="text/css">
<!--
#Layer1 {
position:absolute;
width:390px;
height:445px;
z-index:1;
}
#Layer2 {
position:absolute;
width:477px;
height:620px;
z-index:2;
left: 473px;
top: 45px;
}
#Layer3 {
position:absolute;
width:208px;
height:34px;
z-index:3;
left: 577px;
top: 8px;
}
-->
</style>
<script LANGUAGE="JavaScript">
<!-- Begin
function checkFields() {
missinginfo = "";
if (document.form.name.value == "") {
missinginfo += "\n - Nombre";
}
if (document.form.Apellidos.value == "") {
missinginfo += "\n - Apellidos";
}
if ((document.form.from.value == "") ||
(document.form.from.value.indexOf('@') == -1) ||
(document.form.from.value.indexOf('.') == -1)) {
missinginfo += "\n - Dirección de correo";
}
if (document.form.tlf.value == "") {
missinginfo += "\n - Teléfono";
}
if (document.form.tlf.value.length <= 8){missinginfo += "\n - Teléfono debe tener 9 cifras";}
if (document.form.tlf.value.length > 9){missinginfo += "\n - Teléfono debe tener 9 cifras";}
if (document.form.tlf.value == " "){missinginfo += "\n - Teléfono no puede contener espacios en blanco";}
if (isNaN(document.form.tlf.value)){
missinginfo += "\n - Teléfono debe tener solo cifras";
}
if (document.form.Poblacion.value == "") {
missinginfo += "\n - Población";
}
if (document.form.cp.value == "") {
missinginfo += "\n - Código Postal";
}
if (document.form.cp.value.length <= 4){missinginfo += "\n - Código Postal debe tener 5 cifras";}
if (document.form.cp.value.length > 5){missinginfo += "\n - Código Postal debe tener 5 cifras";}
if (isNaN(document.form.cp.value)){
missinginfo += "\n - El código postal debe tener solo cifras";
}
if (document.form.SL.value == "") {
missinginfo += "\n - Situación laboral";
}
if (document.form.cursos.value == "") {
missinginfo += "\n - Cursos";
}


if (missinginfo != "") {
missinginfo ="_____________________________\n" +
"Te ha faltado introducir los siguientes datos:\n" +
missinginfo + "\n_____________________________" +
"\n¡Por favor pulsa enter, rellena los datos y prueba de nuevo!";
alert(missinginfo);
return false;
}
else return true;
}
// End -->
</script>
</head>

<body bgcolor="#FFFFFF">
<font color="#FF0000">
<div id="Layer1">
<form name="form" onSubmit="return checkFields();" action="form_creatividad_locales.php" method="post">
<div align="left">
<pre>
<br> Nombre: <input type="text" name="name" size="30">
<br> Apellidos:<input type="text" name="Apellidos" size="30">
<br> E-mail: <input type="text" name="from" size="30">
<br> Tel&eacute;fono: <input type="text" name="tlf" size="30">
<br> Poblaci&oacute;n:<input type="text" name="Poblacion" size="30">
<br> C.P. : <input type="text" name="cp" size="30">
<br> <u>Curso/oposici&oacute;n</u>
<br> Escribe el nombre del
curso/oposici&oacute;n que
quieres realizar:
<input type="text" name="cursos" size="30">
<br> <u> Situaci&oacute;n Laboral</u>
<br> <input type="radio" name="SL" value="trabajando">Trabajando
<br> <input type="radio" name="SL" value="Parad@">Parado/a
<br> <input type="radio" name="SL" value="Estudiando">Estudiando
<br> Comentarios: <textarea rows="3" cols="40" name="comments"></textarea>

<input type="submit" name="submit" value="Enviar formulario">


El envio del correo supone la aceptaci&oacute;n
de los t&eacute;rminos de Ley de proteci&oacute;n de datos
y la pol&iacute;tica de privacidad
<a href="http://www.emaroposiciones.es/aviso_legal.html" style="color:#000000">Ver t&eacute;rminos y condiciones legales de Emar Oposiciones S.L.</a>
</pre>
<div id="Layer1"> </div>
</div>
</form>
</div>
<div id="Layer2"><img src="http://www.emaroposiciones.es/imagenes/imagenes creatividades/oposiciones_cuerpos_seguridad_2.jpg" width="550" height="650" /></div>
<div id="Layer3">
<input type="button" name="enviar_amigo" value="Enviar a un amigo" onclick="window.location.href='http://www.emaroposiciones.es/enviar_amigo/Enviar_cuerpos_seg_2.html'" />
</div>
</body>
</html>
--------------------------------------------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++
--------------------------------------------------------------------------------------------------------
Funcion php
--------------------------------------------------------------------------------------------------------
<?php
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado\n";
$cuerpo .= "Nombre: " . $_POST["name"] . "\n";
$cuerpo .= "Apellidos: " . $_POST["Apellidos"] . "\n";
$cuerpo .= "Email: " . $_POST["from"] . "\n";
$cuerpo .= "Teléfono: " . $_POST["tlf"] . "\n";
$cuerpo .= "Población: " . $_POST["Poblacion"] . "\n";
$cuerpo .= "C.P.: " . $_POST["cp"] . "\n";
$cuerpo .= "Nombre curso: " . $_POST["cursos"] . "\n";
$cuerpo .= "Situación Laboral: " . $_POST["SL"] . "\n";

//mando el correo...
mail("[email protected]","Formulario recibido",$cuerpo);
?>
--------------------------------------------------------------------------------------------------------

Gracias de antemano por la ayuda que me puedan prestar.