Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/04/2015, 03:57
javy7v
 
Fecha de Ingreso: abril-2015
Mensajes: 189
Antigüedad: 9 años
Puntos: 14
Validación formulario

Buenas,

Tengo un formulario de contacto implementado en mi web y funciona correctamente , es decir que llegan los mensajes bien al correo y con la información separada en sus distintos campos etc...

La cosa es que tengo puesta una validación mínima para que si no rellenas los campos obligatorios no se pueda enviar y en el caso del email sino es una estructura [email protected] que no se pueda enviar tampoco.

El tema es que me han llegado algunos mensajes totalmente en blanco pero yo acabo de hacer pruebas y los mensajes llegan bien entonces supongo que es mas bien que alguien ha podido enviarme los mensajes saltandose la validación que otra cosa.

Me he dado cuenta que la validación de que este rellenado simplemente metiendo espacios te lo da por valido pero en el tema del correo no esa asi y los mensajes no tenian correo , alguno sabe decirme porque ?

Os paso el codigo del formulario por si también me podeis decir mejores metodos de validación para evitar lo de los espacios:

Código:
<div id="contactform">
<!– bloque confirmacion de envio oculto –>
<div id="c_information" class="hide">
<p></p>
</div>
<!– fin bloque confirmacion de envio –>

<!– inicio formulario –>
<form id="c_form" name="contact">
<label>
<p>Nombre*</p>
<input name="nombre" id="c_name" type="text" class="c_input" placeholder="Requerido"/>
</label>
<br/>
<label>
<p>Email*</p>
<input name="email" id="c_mail" type="text" class="c_input" placeholder="Requerido"/>
</label>
<br/>
<label>
<p>Telefono*</p>
<input name="telefono" id="c_telefono" type="text" class="c_input" placeholder="Requerido"/>
</label>
<br/>
<label>
<p>Equipo*</p>
<input name="equipo" id="c_equipo" type="text" class="c_input" placeholder="Breve descripción,Requerido"/>
</label>
<br/>
<label>
<p>Peso*</p>
<input name="peso" id="c_peso" type="text" class="c_input" placeholder="En Kg, Requerido"/>
</label>
<br/>
<label>
<p>Numero de Apoyos*</p>
<input name="apoyos" id="c_apoyos" type="text" class="c_input" placeholder="Requerido"/>
</label>
<label>
<p>Frecuencia:</p>
<input name="frecuencia" id="c_frecuencia" type="text" class="c_input" placeholder="Indicar en Hz"/>
</label>
</br>
<label>
<p>Mensaje:</p>
<textarea name="mensaje" id="c_msg" placeholder="Describa el problema"></textarea>
</label>
<!– boton enviar –>
<div id="c_btns">
<input name="send" onclick="cargaSendMail()" type="button" value="Enviar" class="btn-b" id="c_enviar"></input>
</div>
</form>
<!– fin formulario –>
</div>
Código:
<?php
	$mensaje = "\n\nDe: ". $_POST['nombre'];
	$mensaje.= "\n\nE-mail: ".$_POST['email'];
	$mensaje.= "\n\nTipo de equipo: ".$_POST['equipo'];
	$mensaje.= "\n\nPeso: ".$_POST['peso'];
	$mensaje.= "\n\nApoyos: ".$_POST['apoyos'];
	$mensaje.= "\n\nTelefono: ".$_POST['telefono'];
	$mensaje.= "\n-------------\n";
	$mensaje.= "\n\nFrecuencia: ".$_POST['frecuencia'];
	$mensaje.="\n\nMensaje: ".$_POST['mensaje'];
	//Ahora se introduce nuestro correo
	$destino= "correo@correo";
	$remitente = $_POST['email'];
	$asunto = "Mensaje enviado por: ".$_POST['nombre'];
	mail($destino,$asunto,$mensaje,"FROM: $remitente");
	//El mensaje que se mostrara al confirmar el envio
	echo "Mensaje enviado,gracias!"
?>
Código:
function cargaSendMail(){

$("#c_enviar").attr("disabled", true);

$(".c_error").remove();

var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+.[A-Za-z0-9_.]+[A-za-z]$/;
var s_name = $('#c_name').val();
var s_email = $('#c_mail').val();
var s_telefono = $('#c_telefono').val();
var s_equipo = $('#c_equipo').val();
var s_peso = $('#c_peso').val();
var s_apoyos = $('#c_apoyos').val();
var s_frecuencia = $('#c_frecuencia').val();
var s_msg = $('#c_msg').val();

if (filter.test(s_email)){
sendMail = "true";
} else{
$('#c_mail').after("<span class='c_error' id='c_error_mail'>Ingrese e-mail valido.</span>");
//aplicamos color de borde si el se encontro algun error en el envio
$('#contactform').css("border-color","#e74c3c");
sendMail = "false";
}
if (s_name.length == 0 ){
$('#c_name').after( "<span class='c_error' id='c_error_name'>Ingrese su nombre.</span>" );
var sendMail = "false";
}
if (s_telefono.length == 0 ){
$('#c_telefono').after( "<span class='c_error' id='c_error_name'>Ingrese su telefono.</span>" );
var sendMail = "false";
}
if (s_equipo.length == 0 ){
$('#c_equipo').after( "<span class='c_error' id='c_error_name'>Ingrese su tipo de equipo.</span>" );
var sendMail = "false";
}
if (s_peso.length == 0 ){
$('#c_peso').after( "<span class='c_error' id='c_error_name'>Ingrese el peso de su equipo.</span>" );
var sendMail = "false";
}
if (s_apoyos.length == 0 ){
$('#c_apoyos').after( "<span class='c_error' id='c_error_name'>Ingrese el numero de apoyos.</span>" );
var sendMail = "false";
}
if(sendMail == "true"){

var datos = {

"nombre" : $('#c_name').val(),

"email" : $('#c_mail').val(),

"telefono" : $('#c_telefono').val(),

"equipo" : $('#c_equipo').val(),

"peso" : $('#c_peso').val(),

"apoyos" : $('#c_apoyos').val(),

"frecuencia" : $('#c_frecuencia').val(),

"mensaje" : $('#c_msg').val()

};

$.ajax({

data: datos,
// hacemos referencia al archivo contacto.php
url: '../paginas/contactoForm.php',

type: 'post',

beforeSend: function () {
//aplicamos color de borde si el envio es exitoso
$('#contactform').css("border-color","#25A25A");

$("#c_enviar").val("Enviando…");

},

success: function (response) {

$('form')[0].reset();
$("#c_enviar").val("Enviar");
$("#c_information p").html(response);
$("#c_information").fadeIn('slow');
$("#c_enviar").removeAttr("disabled");

}

});

} else{
$("#c_enviar").removeAttr("disabled");
}

}