Recientemente me puse a trabajar en una pagina web, y actualmente estoy haciendo el formulario de contacto.. normalucho, nada del otro mundo... pero quiero hacer un class de validacion para usarlo a futuro en otros forms, como puede ser login, o ingresar datos a la db, es por eso mismo que quiero hacerlo de un modo que me funcione y obviamente, me sea entendible con mi poco nivel de programacion.
La idea seria la siguiente:
En el php donde iria el form:
Código PHP:
Ver original
<?php $functions->validarNombre($_POST['name'],'15','50'); if (!$errors) { //envia el email echo "gracias por el email pepito!!<br/><br/>"; } else { echo '<div class="error_box">' . $errors . '<br/></div>'; } } ?>
La class de validacion:
Código PHP:
Ver original
<? { } class functions extends nwMySQL { var $username; var $password; function validarNombre($name, $min_length, $max_length) { if ($name != "") { if ($name == "") { $errors .= 'Please enter a valid name.<br/><br/>'; } { $errors .= 'Please enter a valid name.<br/><br/>'; } { $errors .= 'Please enter a valid name.<br/><br/>'; } } else { $errors .= 'Please enter your name.<br/>'; } } } ?>
La llamo en el index.php de la web de la siguiente manera:
Código PHP:
Ver original
<? require ('_modulos/configuracion.php'); require ('_modulos/mysql.class.php'); require ('_modulos/functions.class.php'); require ('_modulos/lenguajes.class.php'); require ('_modulos/paginacion.class.php'); $Contenido = $_REQUEST['go']; if($Contenido == '') { $Contenido = 'inicio'; } $nwMy = new nwMySQL; $nwMy->Connect(); $functions = new functions(); ?>
La pregunta principal seria, como hago para imprimir/chequear el $errors en el php del formulario?
Si se preguntan porque esta todo en spanglish es porque me resulta facil acordarme algunas funciones en español y otras en ingles...
Por si a alguien le es de ayuda tmb, el codigo original del formulario de php lo saque de aca: http://net.tutsplus.com/tutorials/php/sanitize-and-validate-data-with-php-filters/
Bueno, lo solucione por mi cuenta, por si a alguien le ayuda, dejo el codigo actual, tambien si ven algo incorrecto y me lo corrigen, se los agradeceria.
Código PHP:
Ver original
<? { } require ("lenguajes.class.php"); class functions extends nwMySQL { var $username; var $password; var $errors; //Validar variable para nombre/login, con minimo y maximo de caracteres function validarTexto($valor_input, $min_length, $max_length,$nombreinput) { if ($valor_input != "") { if ($valor_input == "") { return false; } if ($input_length < $min_length) { return false; } if ($input_length > $max_length) { return false; } } else { return false; } } //Validar direcciones de E-Mail function validareMail($valor_input,$nombreinput) { if ($valor_input != "") { if ($valor_input == "") { return false; } } else { return false; } } function validarNumero($valor_input,$min_length,$max_length,$nombreinput) { if ($valor_input != "") { { return false; } if ($input_length < $min_length) { return false; } if ($input_length > $max_length) { return false; } } else { return false; } } // Chequea si se encontraron errores. function validarbuscarErrors() { { return true; } else { return false; } } // Devuelve una lista de errores, separados por un elemento customizado. function validarlistarErrors($delim = '') { } } ?>
Para mostrar los errores:
Código PHP:
Ver original
$functions->validarTexto($_POST['name'],'5','30',contact_contactform_nameandlastname); $functions->validarNumero($_POST['phone'],'8','15',contact_contactform_telephone); $functions->validarNumero($_POST['cellphone'],'10','17',contact_contactform_cellphone); $functions->validarTexto($_POST['estate'],'5','30',contact_contactform_estate); $functions->validarTexto($_POST['city'],'5','30',contact_contactform_city); $functions->validareMail($_POST['email'],contact_contactform_email); $functions->validarTexto($_POST['message'],'10','1000',contact_contactform_yourmessage); if (!$functions->validarbuscarErrors()) { //envia el email echo '<div class="ok_box">gracias por el email pepito!!<br/></div>'; } else { echo '<div class="error_box">'.$functions->validarlistarErrors('<br />'). '</div>'; } }