Foros del Web » Programando para Internet » PHP »

Validación formulario

Estas en el tema de Validación formulario en el foro de PHP en Foros del Web. Buenas, Tengo un formulario de contacto implementado en mi web y funciona correctamente , es decir que llegan los mensajes bien al correo y con ...
  #1 (permalink)  
Antiguo 27/04/2015, 03:57
 
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");
}

}
  #2 (permalink)  
Antiguo 27/04/2015, 06:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Validación formulario

El código de validación que muestras es Javascript, ¿qué relación tiene entonces con el foro de PHP?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 27/04/2015, 07:11
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: Validación formulario

Quizá sea porque estás "validando" en JS y no en PHP que es como debería ser.
Todas estas cosas donde hay que enviar información cliente<->servidor se hacen en PHP.
__________________
¿Te sirvió la respuesta? Deja un +1
  #4 (permalink)  
Antiguo 27/04/2015, 09:04
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Validación formulario

Es el foro de php, asi que te recomiendo que utilices una librería como valitron para hacer las validaciones de lado del servidor
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: formulario, html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:35.