PHP - Validar textbox con Filter_input

 
Vista:
sin imagen de perfil
Val: 13
Ha aumentado su posición en 16 puestos en PHP (en relación al último mes)
Gráfica de PHP

Validar textbox con Filter_input

Publicado por Lubrm (9 intervenciones) el 04/09/2018 03:35:26
Buenas tardes

Tengo un formulario en HTML, con nombre, apellido,edad etc el cual si presionas un botón enviar te envía a una pagina "datos.php" donde te muestre los campos ingresados en el formulario.

Mi duda es como valido el campo nombre, apellido,edad para que no queden en blanco el email lo valide así en la pagina dato.php

1
2
3
4
5
6
7
if (isset($_GET["email"])) {
    if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL) === false) {
        echo("Email is valid");
    } else {
        echo("Email is not valid");
    }
}

pero el nombre, apellido,edad no se como validarlos

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Validar textbox con Filter_input

Publicado por Gonzalo (615 intervenciones) el 04/09/2018 03:59:21
a ver si te ayuda este codigo

1
2
3
4
5
6
<?php
$str = "<h1>Hello World!</h1>";
 
$newstr = filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>

aqui te anexo la fuente.

https://www.w3schools.com/php/filter_sanitize_string.asp

y aqui lo que encontre en php.net

http://php.net/manual/en/filter.filters.sanitize.php

y la otra es que hagas tu propio filter,no es complicado.

suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Validar textbox con Filter_input

Publicado por Mauro (1036 intervenciones) el 04/09/2018 23:05:07
Si lo único que debes validar es que no sean vacíos por qué no verificas simplemente que estén en el $_GET (y, si es necesario, que sean !== '')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de santi
Val: 588
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Validar textbox con Filter_input

Publicado por santi (204 intervenciones) el 05/09/2018 00:36:12
Hola,

para la edad puedes utilizar:

1
2
3
4
5
6
7
$edad = $_GET['edad'];
 
if (isset($edad) && filter_var($edad, FILTER_VALIDATE_INT) >= 18){
	//existe y es mayor de edad
}else{
	//no existe o es menor...
}

Para el nombre y el apellido solo con añadir un "isset" y/o un "trim" ya puede funcionar:

1
2
3
4
5
6
$nombre = $_GET['nombre'];
 
if(isset($nombre) || trim($nombre) != ''){
	//existe nombre
	//y para el apellido igual..
}

Haz la prueba y comentas a ver que tal ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Validar textbox con Filter_input

Publicado por Mauro (1036 intervenciones) el 05/09/2018 17:32:23
Creo que sería mejor para eso hacer algo como:

1
2
3
if ( array_key_exists( 'nombre', $_GET ) ) {
   ...
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 13
Ha aumentado su posición en 16 puestos en PHP (en relación al último mes)
Gráfica de PHP

Validar textbox con Filter_input

Publicado por Lubrm (9 intervenciones) el 05/09/2018 23:48:28
No funcionan, de ninguna manera.

el único que valida es el email:

1
2
3
4
5
6
7
if (isset($_GET["email"])) {
    if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL) === false) {
        echo("Email is valid");
    } else {
        echo("Email is not valid");
    }
}


de resto nada, igual forma gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Validar textbox con Filter_input

Publicado por Mauro (1036 intervenciones) el 06/09/2018 17:15:38
¿Puedes mostrar las pantallas completas? Especialmente me interesaría si puedes mostrar una captura de la consola del navegador donde se vea el tráfico de la red...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 13
Ha aumentado su posición en 16 puestos en PHP (en relación al último mes)
Gráfica de PHP

Validar textbox con Filter_input

Publicado por Lubrm (9 intervenciones) el 06/09/2018 23:13:20
PAGINA HTML

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<!DOCTYPE html>
<html>
<head>
	<title></title>
	<link href="css/estilos.css" rel="stylesheet" type="text/css" />
	<link href="css/bootstrap.min.css" rel="stylesheet" type="text/css" />
	<meta charset="utf-8">
</head>
<body>
 
	<h1>DATOS</h1>
	<form action="pagina02.php" method="post">
 
	<label for="nombre">Nombre:</label><br>
	<input type="text" name="nombre" size="20"><br>
	<label for="apellido">apellido:</label><br>
	<input type="text" name="apellido" size="20"><br>
	<label for="edad">Edad:</label><br>
  	<input type="number"name="edad" id="edad" size="20" value="" min="18" max="99" step="1" maxlength="3" /><br>
  	<label>tel&eacutefono:</label><br>
	<input type="text" name="telefono" id="telefono" value="787" maxlength="10" /><br>
	<label for="email">Email:</label>
	<input type="email" name="email" id="email" value="@" maxlength="40" /><br>
 
 
    <div class="form-check form-check-inline">
  <input class="form-check-input" type="radio" name="radioOptions" id="radio1" value="Masculino">
  <label class="form-check-label" for="inlineRadio1">M</label>
</div>
<div class="form-check form-check-inline">
  <input class="form-check-input" type="radio" name="radioOptions" id="radio2" value="Femenino" >
  <label class="form-check-label" for="inlineRadio2">F</label>
</div>
<hr> </hr>
    <h2>Preferencias</h2>
<div class="form-check">
  <label>Tecnolog&iacutea</label>
  <input name="preferencias[]" class="form-check-input position-static" type="checkbox" id="blankCheckbox" value="Tecnologia">
 
</div>
<div class="form-check">
    <label>Salud</label>
    <input name="preferencias[]" class="form-check-input position-static" type="checkbox" id="blankCheckbox" value="Salud">
 
</div>
<div class="form-check">
<label>Entretenimiento</label>
  <input name="preferencias[]" class="form-check-input position-static" type="checkbox" id="blankCheckbox" value="Entretenimiento">
 
</div>
  <label>Comentarios:</label><br>
  <textarea name="comentario" cols="50" rows="5" id="comentario" maxlength="100"></textarea><br>
	<input type="submit" value="sumit" name="submit><br>
	<input type="reset" value="limpiar" name="reset">
	</form>
	<script type="text/javascript" src="js/bootstrap.min.js"></script>
	<script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 13
Ha aumentado su posición en 16 puestos en PHP (en relación al último mes)
Gráfica de PHP

Validar textbox con Filter_input

Publicado por Lubrm (9 intervenciones) el 06/09/2018 23:14:09
PAGINA EN PHP donde valida los campos de textbox

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
	<?php
	echo "Su nombre es: ".$_REQUEST['nombre'];
	echo " ".$_REQUEST['apellido']."<br>";
	echo "Tiene ".$_REQUEST['edad']. " de edad"."<br>";
	echo "Su email es: ".$_REQUEST['email'];
	echo " y su tel&eacutefono: ".$_REQUEST['telefono']."<br>";
	echo "Su genero es: ".$_REQUEST['radioOptions']."<br>";
	echo "Sus Preferencias son: ";
	$checked = $_POST['preferencias'];
	foreach($checked as $i)
	{
	echo " <br>".$i;
	}
	echo "<br>";
	echo "Comentarios: ".$_REQUEST['comentario']."<br>";
 
 
echo $nombre = $_GET['nombre'];
 
if(isset($nombre) || trim($nombre) != 'nombre'){
 
}
 
echo $apellido = $_GET['apellido'];
 
if(isset($apellido) || trim($apellido) != 'apellido'){
 
}
 
 
	if (isset($_GET["email"])) {
    if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL) === false) {
        echo("Email is valid");
    } else {
        echo("Email is not valid");
    }
 
	?>
	<a href="pagina01.html">Regresar</a>
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Validar textbox con Filter_input

Publicado por Mauro (1036 intervenciones) el 08/09/2018 00:13:10
Veo un poco raras estas condiciones:

1
isset($nombre) || trim($nombre) != 'nombre'

y

1
isset($apellido) || trim($apellido) != 'apellido'

Para empezar, ninguna de esas variables puede no estar definida (Es decir, el isset jamás dará false). Más aún, al tratarse de un or (||), da lo mismo escribir directamente la segunda condición.

¿En qué caso trim($nombre) sería igual a "nombre"?

Sigo insistiendo con la sugerencia que te di en el comment anterior: usa array_key_exist para ver si los parámetros vinieron.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 13
Ha aumentado su posición en 16 puestos en PHP (en relación al último mes)
Gráfica de PHP

Validar textbox con Filter_input

Publicado por Lubrm (9 intervenciones) el 08/09/2018 23:12:26
Gracias no sé como hacerlo, no sé PHP apenas estoy empezando. Es como si te hablaran en chino usa array, pero no sabes como usarlo. Seguiré investigando... ya he probado cantidad de códigos de diferentes web, pero no me funcionan y con "array_key_exist" supongo que hay que agregarle otra información adicional a eso y no tengo idea como armar ese código array_key_exist . Mi formulario funciona bien envía los campos ingresados en el html y me los muestra en la pagina php... El dolor de cabeza es validar esos campos del formulario html y que no se envíen vacíos, sino que se obligue al usuario a llenarlos.

Igual forma gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Validar textbox con Filter_input

Publicado por Mauro (1036 intervenciones) el 09/09/2018 17:38:41
Ya veo... bueno, pues entonces mi sugerencia es que empieces por aprender PHP.

Si te interesa, te invito al curso Introducción a PHP
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar