Foros del Web » Programando para Internet » PHP »

Duda con validación de formulario

Estas en el tema de Duda con validación de formulario en el foro de PHP en Foros del Web. Estoy haciendo una validación PHp de campos de formulario y me encontré con lo siguiente: para validar los dos primeros campos de texto creé una ...
  #1 (permalink)  
Antiguo 21/11/2014, 13:02
 
Fecha de Ingreso: octubre-2007
Mensajes: 91
Antigüedad: 16 años, 5 meses
Puntos: 1
Duda con validación de formulario

Estoy haciendo una validación PHp de campos de formulario y me encontré con lo siguiente: para validar los dos primeros campos de texto creé una función:
Código:
function checkname ($var, $var2){
	$error =false;
	if ( !preg_match($var, $var2) || strlen($var2) <= 2) {
	$error=true;
	}
	return $error;	
	
}
A esta función le pasaba los siguientes parámetros: el campo de texto obtenido de un formulario enviado y una expresión de texto de donde debe comparar:
Código:
$errorname = checkname ($text, $name);
Siendo la expresión $ text la siguiente:
Código:
$text="/^[a-zA-ZñÑáéíóúÁÉÍÓÚäëïöüÄËÏÖÜàèìòùÀÈÌÒÙ\s]+$/";
y la variable $name la variable obtenida del formulario


Pensaba usarla para validar los campos de Nombre y Apellidos. Cuando empecé validando el campo Nombre me iba bien, pero, cuando intenté usarla para validar ambos campos, y en uno de los campos me daba error, el mensaje de error me salía para los dos campos


Lo solucioné creando una función para cada campo, pero no termino de entender por qué al encontrar el error en una de las validaciones, en los dos me da menasje de error.
  #2 (permalink)  
Antiguo 21/11/2014, 13:52
 
Fecha de Ingreso: abril-2012
Mensajes: 124
Antigüedad: 12 años
Puntos: 3
Respuesta: Duda con validación de formulario

Podría ser eso?
http://php.net/manual/es/language.references.pass.php
__________________
Mi web de programación en PHP en construcción, claro. Un dia de esos pongo algo.
  #3 (permalink)  
Antiguo 21/11/2014, 14:32
 
Fecha de Ingreso: octubre-2007
Mensajes: 91
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Duda con validación de formulario

No lo llego a ver. En mi caso la función la invoco dos veces y asigno el valor que devuelve a dos variables diferentes. No entiendo por qué un primer valor se pueda ver afectado por el resultado que devuelve la segunda vez que la invoco y viceversa. A ver si alguien me lo puede explicar ya que no tengo muy claro el manejo de valores booleanos.

Supongo también que el problema se resolvería con una función dentro de una clase, pero PHP OO se me da peor todavía.

Sigo en duda con las dos preguntas
  #4 (permalink)  
Antiguo 21/11/2014, 14:34
 
Fecha de Ingreso: octubre-2007
Mensajes: 91
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Duda con validación de formulario

Veo que al postear el tema se me borró la mitad de lo que había escrito. Tengo que postear de nuevo el código completo
  #5 (permalink)  
Antiguo 21/11/2014, 14:36
 
Fecha de Ingreso: octubre-2007
Mensajes: 91
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Duda con validación de formulario

<? if (isset ($_POST["submit_reg"])){
//obtención de variables
$name = $_POST ["name"];
$surname = $_POST ["surname"];

//variables para comparar strings
$text="/^[a-zA-ZñÑáéíóúÁÉÍÓÚäëïöüÄËÏÖÜàèìòùÀÈÌÒÙ\s]+$/";

//funcion que comprueba los datos comparando con las variables de arriba
function checkname ($var, $var2){
$error =false;
if ( !preg_match($var, $var2) || strlen($var2) <= 2) {
$error=true;
}
return $error;
}

$errorname = checkname ($text, $name);
$errorsurname = checksurname ($text, $surname);
}

?>


<? if (!isset ($_POST["submit_reg"]) || $errorname==true || $errorsurname==true){?>
<form action="register_2.php" method="POST">
<label for="name">Nombre </label>
<input name="name" id="name" type="text" class="" value="" />
<p>&nbsp; <? if (isset($errorname) && $errorname==true) {
echo " <font color='#ff0000'>El nombre ingresado no es válido </font><br>";
}?></p>

<label for="surname">Apellido</label>
<input name="surname" id="surname" type="text" class="" value="" />
<p>&nbsp; <? if (isset($errorsurname) && $errorsurname==true) {
echo " <font color='#ff0000'>El apellido ingresado no es válido </font><br>";
}?></p>


<input type="submit" name="submit_reg" value="Registrarse" class="register" />

</form>
<? }?>

Etiquetas: formulario, variable
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 16:09.