Foros del Web » Programando para Internet » PHP »

no insertar input que contengan ceros

Estas en el tema de no insertar input que contengan ceros en el foro de PHP en Foros del Web. Hola, no estoy muy seguro de en que categoría postear esto pero creo que por aquí encaja bien... Tengo un input text que por defecto ...
  #1 (permalink)  
Antiguo 17/07/2011, 14:41
 
Fecha de Ingreso: octubre-2008
Mensajes: 162
Antigüedad: 16 años, 1 mes
Puntos: 11
no insertar input que contengan ceros

Hola, no estoy muy seguro de en que categoría postear esto pero creo que por aquí encaja bien...

Tengo un input text que por defecto siempre esta con value="0" lo malo es que al momento de enviar el formulario a mysql también se inserta el cero ...

de que modo podría crear una sentencia que diga que si el campo esta con valor 0 no se envíe o quede en blanco??

creo que la respuesta sería un if pero no se armarlo... ni ubicarlo...

agradeceré cualquier pista... saludos a todos... y gracias.
  #2 (permalink)  
Antiguo 17/07/2011, 15:21
 
Fecha de Ingreso: julio-2011
Mensajes: 11
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: no insertar input que contengan ceros

Suponiendo que el nombre del campo que vale '0' se llama "texto":

Código PHP:
if($_REQUEST['texto'] == "0"){
    
$texto "";
}
else{
    
//para Mysqli
    
$texto real_escape_string($_REQUEST['texto']);
   
//para Mysql
   // $texto = mysql_real_escape_string($_REQUEST['texto']);

en la sentencia SQL usa la variable "$texto", de esta forma el valor pasa a ser vacio, si quieres que sea nulo cambia la linea 2 por:
Código PHP:
$texto "NULL"
Otra opción es guardar en la variable la asignación, por ejemplo:
Código PHP:
$texto "`texto` = '".real_escape_string($_REQUEST['texto']). "'"
  #3 (permalink)  
Antiguo 17/07/2011, 15:38
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 meses
Puntos: 202
Respuesta: no insertar input que contengan ceros

Cita:
Iniciado por Tasio1985 Ver Mensaje
Suponiendo que el nombre del campo que vale '0' se llama "texto":

Código PHP:
if($_REQUEST['texto'] == "0"){
    
$texto "";

¿Sólo miras si es = a 0?
¿Y si escribo: 000000000000000000 ?

Tendría que comprobar:

-Si es númerico , is_numeric(), en caso de que permita texto aparte de números.
-Si lo es convertirlo a entero con (int) y comprobar si este es igual a 0.
-De serlo entonces asignar el valor vacío o cualquier otro que vea necesario.

¿Si viene de un formulario porque usar request? request permite el paso de valores por parámetros en la url.

Considero que ya que usa un formulario use el method del form (GET o POST)
De lo contrario bien le podría servir un href en vez de un form.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #4 (permalink)  
Antiguo 17/07/2011, 15:58
 
Fecha de Ingreso: octubre-2008
Mensajes: 162
Antigüedad: 16 años, 1 mes
Puntos: 11
Respuesta: no insertar input que contengan ceros

Gracias amigos voy a probar y después comentaré... no será muy pronto por que justo ahora tengo que salir...

muchas gracias!!
  #5 (permalink)  
Antiguo 17/07/2011, 18:31
Avatar de duskrow  
Fecha de Ingreso: abril-2008
Mensajes: 267
Antigüedad: 16 años, 7 meses
Puntos: 8
Respuesta: no insertar input que contengan ceros

if( (int) $_Request['texto'] == 0 ) { $Texto = NULL ; } else { $Texto = $_Request['texto'] ; }
__________________
"El sabio no dice lo que piensa,pero piensa lo que dice"
Att Miguel Lomeli
Visita mi Blog
  #6 (permalink)  
Antiguo 17/07/2011, 21:08
 
Fecha de Ingreso: octubre-2008
Mensajes: 162
Antigüedad: 16 años, 1 mes
Puntos: 11
Respuesta: no insertar input que contengan ceros

Les cuento que me funcionó impecable... agradezco toda la ayuda dada... muchisimas gracias!!!
saludos.
  #7 (permalink)  
Antiguo 18/07/2011, 04:03
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 meses
Puntos: 202
Respuesta: no insertar input que contengan ceros

Cita:
Iniciado por duskrow Ver Mensaje
if( (int) $_Request['texto'] == 0 ) { $Texto = NULL ; } else { $Texto = $_Request['texto'] ; }
¿ Me podrían explicar de una vez en que manual de php usan $_RESQUEST[] para sacar los datos de un formulario ?
Ya lo he visto en este foro usado para todo tipo de casos...

Me parece que lo usan constantemente sin saber que no hace distinción entre GET o POST
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #8 (permalink)  
Antiguo 18/07/2011, 04:06
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 8 meses
Puntos: 253
Respuesta: no insertar input que contengan ceros

Cita:
Iniciado por IEKK Ver Mensaje
¿ Me podrían explicar de una vez en que manual de php usan $_RESQUEST[] para sacar los datos de un formulario ?
Ya lo he visto en este foro usado para todo tipo de casos...

Me parece que lo usan constantemente sin saber que no hace distinción entre GET o POST
También de $_COOKIE.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #9 (permalink)  
Antiguo 18/07/2011, 13:04
 
Fecha de Ingreso: julio-2011
Mensajes: 11
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: no insertar input que contengan ceros

Cita:
Iniciado por IEKK Ver Mensaje
¿ Me podrían explicar de una vez en que manual de php usan $_RESQUEST[] para sacar los datos de un formulario ?
Ya lo he visto en este foro usado para todo tipo de casos...

Me parece que lo usan constantemente sin saber que no hace distinción entre GET o POST
Lo he usado en el ejemplo por ser genérico, no creo que se use mucho en casos reales.

Etiquetas: input, mysql, formulario, cero
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 09:32.