Foros del Web » Programando para Internet » PHP »

Comprobar campos numericos

Estas en el tema de Comprobar campos numericos en el foro de PHP en Foros del Web. Hola, tengo una pequeña duda, espero que me la puedan resolver. Les cuento, estoy creando una aplicación en PHP para una empresa de limpiezas, que ...
  #1 (permalink)  
Antiguo 27/08/2008, 03:22
 
Fecha de Ingreso: septiembre-2007
Mensajes: 101
Antigüedad: 16 años, 7 meses
Puntos: 0
Exclamación Comprobar campos numericos

Hola, tengo una pequeña duda, espero que me la puedan resolver. Les cuento, estoy creando una aplicación en PHP para una empresa de limpiezas, que consta de gestión de empleados, clientes,maquinaria,uniformidad...
Lo que me gustaría hacer es poder comprobar que algunos campos que introduzco al dar un alta son numéricos. Por ejemplo en uniformes que es el mas sencillo, me gustaria comprobar que al intorducir las unidades es numérico. Para ello tengo un script, que se llama altauniformes.php, y cuanod le doy al botón para enviar los datos me lleva a una función que tengo un script llamado común.php donde tengo las funciones que me comprueban que los valores de los campos no son nulos, es decir, que se han introducido todos los datos.

Si es así, a enviar le da el valor de 1 y me inserta en la base de datos, ahora además de eso, me gustaria comprobar que el campo unidades sea un número, como puedo hacerlo? he visto que existe una función en JavaScript que es isNaN pero no se como usarla. Les dejo aki las partes mas importantes.

altauniformes.php


<input type="hidden" name="enviar" value="">
<input type='button' name="enviaralta" value="Enviar" onclick="comprobardatosuniformes()">

comun.php

<script language="JavaScript">
function comprobardatosuniformes(){
if ((altauniformes.nombre.value=="")||(altauniformes. marca.value=="")||(altauniformes.modelo.value=="") ||(altauniformes.talla.value="")||(altauniformes.u nidades.value="")){
alert("Datos incompletos");

}
else{
altauniformes.enviar.value=1;
altauniformes.submit();
}

}//funcion comprobar datos uniformes
</script>


altauniformes.php

if ($enviar){
$baja='N';
$sql="INSERT INTO uniformes (nombre,marca,modelo,talla,unidades,baja,observaci ones) VALUES
(upper('$nombre'),upper('$marca'),upper('$modelo') ,upper('$talla'),'$unidades',upper('$baja'),
upper('$observaciones'))";
$resultado=mysql_query($sql);
echo mysql_error();?>
<script language="JavaScript">
alert("EL UNIFORME SE HA DADO DE ALTA CORRECTAMENTE.");
document.location.href='altauniformes.php';
</script>
<?php
}?>



GRACIAS DE ANTEMANO POR SU AYUDA!!!!UN SALUDO!
  #2 (permalink)  
Antiguo 27/08/2008, 03:35
Avatar de don_fransisco  
Fecha de Ingreso: junio-2004
Mensajes: 193
Antigüedad: 19 años, 10 meses
Puntos: 1
Respuesta: Comprobar campos numericos

para comprobar campos numericos en javascript puedes ir al foro javascript, para comprobarlos en php puede usar la funcion is_numeric o derecho usando las funciones preg_match() o eregi()


if(!eregi("^([0-9]+)$",$mivar)){
echo "la variable debe ser del tipo numerico";
}else{
echo "ok";
}


con is_numeric()...

if(is_numeric($miVar)){
echo "mi variable es numerica";
}else{
echo "mi variable no es numerica";
}
__________________
www.webeconomicas.cl
  #3 (permalink)  
Antiguo 27/08/2008, 03:55
 
Fecha de Ingreso: septiembre-2007
Mensajes: 101
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Comprobar campos numericos

Gracias, ya encontre la manera(creo que esta bien, no lo se seguro), en la funcion que tenia para comprobar los datos del uniforme, que no fueran nulos he echo lo siguiente:
<script language="JavaScript">
function comprobardatosuniformes(){
if ((altauniformes.nombre.value=="")||(altauniformes. marca.value=="")||(altauniformes.modelo.value=="") ||(altauniformes.talla.value=="")||(altauniformes. unidades.value=="")){
alert("Datos incompletos");

}
else if(isNaN(altauniformes.unidades.value)){
alert("El campo unidades debe ser numérico");

}


else{
altauniformes.enviar.value=1;
altauniformes.submit();
}



}//funcion comprobar datos uniformes
</script>


Es que no encontraba la manera de pasar el valor de unidades a isNaN.

Creo que ya funciona.

Gracias por tu ayuda.

Un saludo
  #4 (permalink)  
Antiguo 27/08/2008, 05:29
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Respuesta: Comprobar campos numericos

Te sugiero que realices las mismas comprobaciones en PHP, ya que JavaScript es solo un paso previo que puede ser de comodidad, a veces, para usuario y servidor, ya que si hay algo incompleto no tiene por qué enviar el formulario.

Sin embargo esto no ofrece ninguna seguridad. El usuario podría saltarse este paso sin dificultad (si tiene javascript desactivado es suficiente). PHP no puede manejarlo el usuario.

Por otra parte no deberías dejar que los datos se ingresaran tal cual, sino añadir un procedimiento intermedio en el que elimine comillas o según qué caracteres para no poder "amañar" el query a tu SQL.

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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:42.