PHP - Duda PHP

 
Vista:
sin imagen de perfil

Duda PHP

Publicado por Paco (8 intervenciones) el 30/12/2021 13:51:23
Buenas estoy comenzando con PHP y tengo que desde un input de html hacer que el servidor PHP lo valide. Este tiene que ser un número entero de un dígito y positivo. Mi pregunta es existe alguna manera de definirlo o tendría que ponerle algún IF para ese valor? Se que lo puedo definir desde el JS pero desde el PHP no veo nada que me ayude a definirlo. Podría ser con el if y algún tipo de .lenght?

Gracias y feliz año!!
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: 54
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Duda PHP

Publicado por Sergio (112 intervenciones) el 30/12/2021 15:43:05
Buenas tardes. En el mismo html, en el input puedes poner min=0 y Max=9. Así sólo podrás introducir números positivos del 0 al 9.
<input type="number" min="0" Max="9">
Espero haberte ayudado. Saludos
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

Duda PHP

Publicado por Paco (8 intervenciones) el 30/12/2021 16:11:39
Si eso lo había pensado también pero lo que me piden es que lo haga con el propio PHP la validación. Podría usar alguna expresión regular? Lo único que se me ocurre es con un if pero no sé muy bien cómo sacar la longitud sin el lenght
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: 54
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Duda PHP

Publicado por Sergio (112 intervenciones) el 30/12/2021 16:43:47
Buenas tardes. Prueba con ésto

if(is_numeric($i) && $i >= 0 && $i < 10) { return true; }
La variable $i es la que envíen por $_POST.

Saludos
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

Duda PHP

Publicado por Paco (8 intervenciones) el 30/12/2021 19:25:03
Perfecto con esto lo he conseguido capturar el único problema es que enredando con ello para capturar errores y demás me di cuenta que los decimales me los acepta. Alguna manera de que sea solo enteros?
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
sin imagen de perfil
Val: 54
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Duda PHP

Publicado por Sergio (112 intervenciones) el 30/12/2021 19:28:42
Buenas tardes. Creo que no hay. Puedes hacer desaparecer los decimales así

$var = 4000.00;
echo number_format($var,0);

Otra cosa no sé. Saludos
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

Duda PHP

Publicado por Paco (8 intervenciones) el 30/12/2021 22:55:26
He estado investigando ahora un poco lejos del ordenador y la función is_int serviría para saber si es entero? O incluye decimales? Luego eso podría combinarlo para que solo sea del 0 al 9 y tendría exactamente lo que necesito ^^

Gracias y feliz año!!
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: 54
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Duda PHP

Publicado por Sergio (112 intervenciones) el 30/12/2021 23:43:10
Buenas noches. Creo que sí te serviría. Primero pregunta con is_numeric si lo que te envían es un número, luego is_int para saber si es entero y luego con los if si está entre 0 y 9, y ya lo tienes. Gracias a ti y Feliz Año Nuevo !!!
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

Duda PHP

Publicado por Paco (8 intervenciones) el 01/01/2022 10:37:50
Buenas de nuevo ^^
Feliz año a todos lo primero.
Y lo segundo ya he conseguido realizar la tarea que me mandaron de PHP, lo único que sigo un poco mosca con los decimales ya que me da conflicto el is_integer.
Mi pregunta es podría ponerle alguna expresión regular del tipo /[0-9]{1}$/ o algo similar? La podría poner en el if y me ahorraría también algo de código ^^
Se me complican un poco estas expresiones la verdad, me iré mirando algún vídeo y buscaré algo más de información.
Soy un poco pesado pero me da toc que no haga lo que quiero el PHP jajajaj.
Gracias y saludos a todos!
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: 54
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Duda PHP

Publicado por Sergio (112 intervenciones) el 01/01/2022 11:19:06
Buenos días y Feliz Año Nuevo
Con la función
is_float, sabrás si el número que te han enviado es decimal. Saludos
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