Foros del Web » Programando para Internet » PHP »

comprobar si una variable existe?

Estas en el tema de comprobar si una variable existe? en el foro de PHP en Foros del Web. Buenas, en mi pagina hago: if(!$variable) { .. } el caso es que cuando existe la variable, va bien, pero cuando no existe la variable ...
  #1 (permalink)  
Antiguo 09/05/2011, 05:17
 
Fecha de Ingreso: octubre-2009
Mensajes: 103
Antigüedad: 12 años, 7 meses
Puntos: 2
comprobar si una variable existe?

Buenas, en mi pagina hago:

if(!$variable) { .. }

el caso es que cuando existe la variable, va bien, pero cuando no existe la variable me da un error diciendo "la variable no existe" y peta la web........

entonces como puedo saber si una variable existe, sin que pete la web al intentar hacer la comprobacion? :S
-----

tambien me da error en otra funcion, y no se si estara relacionado con lo anterior:

while($row=mysql_fetch_row($result))

ahi me da el siguiente error: "Warning: mysql_fetch_row() expects parameter 1 to be resource" .......... y antes de eso tenia $result=mysql_query(....) , y leyó bien de la BD ese $result....


la cuestion es que esto lo tengo en LINUX y funciona bien, pero al pasarlo a windows es cuando me da esos errores :S.... a ver si podeis echarme una mano, gracias.
  #2 (permalink)  
Antiguo 09/05/2011, 05:21
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 12 años, 1 mes
Puntos: 26
Respuesta: comprobar si una variable existe?

Para si no existe la variable utiliza isset(): http://php.net/manual/es/function.isset.php

Y el segundo error viene a ser lo mismo. La variable $result no es un $resultado de un mysql_query() por eso te dice que el parametro que le pasas es incorrecto
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.
  #3 (permalink)  
Antiguo 09/05/2011, 07:33
 
Fecha de Ingreso: octubre-2009
Mensajes: 103
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: comprobar si una variable existe?

Ok ya el IF me va bien, pero sigo teniendo problemas en el WHILE.

he cambiado:
while($row=mysql_fetch_row($result))

por:
$row=mysql_fetch_row($result)
while(isset($row)) {
...
$row=mysql_fetch_row($result)
}


pero eso no me vale ya que aunque SIEMPRE entra al while, incluso aunque ROW no tenga nada me sigue entrando dentro del while.... supongo que isset es solo para cuando no se ha declarado la variable....... como lo haria entonces? :S

Última edición por rulzzz; 09/05/2011 a las 08:16
  #4 (permalink)  
Antiguo 09/05/2011, 08:26
Avatar de rikardoz  
Fecha de Ingreso: abril-2011
Ubicación: En mi casa
Mensajes: 165
Antigüedad: 11 años, 1 mes
Puntos: 46
Respuesta: comprobar si una variable existe?

entonces tu pregunta seria comprobar si la variable existe y tambien este NULL en ese caso quiere decir que tu VARIABLE $var existe pero no esta declarada $var=0; o $var=NULL;
empty
http://www.php.net/manual/es/function.empty.php
__________________
Agregadecer no cuesta nada O SI?
  #5 (permalink)  
Antiguo 09/05/2011, 08:43
 
Fecha de Ingreso: octubre-2009
Mensajes: 103
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: comprobar si una variable existe?

si que era eso, gracias.... pero menuda faena, cuando tenia el server apache en ubuntu me funcionaba perfecto, y al pasarlo a windows me empiezan a dar errores por todas partes

por ejemplo, tengo puesto un enlace: enlace2.php?myget=<?echo $variable ?>

y antes si existia $variable se enviaba por GET, y si no existia pues no se enviaba nada.... pero ahora me da error en esa linea porque no me deja trabajar con $variable si no ha sido declarada :S........ voy a tener que estar metiendo ahi un if para hacer comprobaciones en todas las urls no?.... puf :(
  #6 (permalink)  
Antiguo 09/05/2011, 09:00
Avatar de rikardoz  
Fecha de Ingreso: abril-2011
Ubicación: En mi casa
Mensajes: 165
Antigüedad: 11 años, 1 mes
Puntos: 46
Respuesta: comprobar si una variable existe?

si es mejor asi y tambien si trabajar con GET O POST
no te olvides de declarar las varibles por ejemplo envias por GET
$var = $_GET['var'];
y si trabajas con POST
$var = $_POST['var'];
declaras al inicio de tu
<?php :D
__________________
Agregadecer no cuesta nada O SI?
  #7 (permalink)  
Antiguo 09/05/2011, 09:16
 
Fecha de Ingreso: octubre-2009
Mensajes: 103
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: comprobar si una variable existe?

ya si eso estaba echo, el problema no es al recibirlas si no al enviarlas.

por ejemplo si tengo:

--
if(..) { $variable=1; }

else { .... }

url.php?myget=<? echo $variable ?>
--

en este caso hay veces que existe $variable, y otras veces que no... pero a mi me gustaria que aunque no existiese se pudiera usar aunque myget quedara vacio.....

no entiendo porque en ubuntu eso si funcionaba, y ahora en linux no..... puede ser porque en server que uso ahora es una version mas avanzada? o mas vieja? o que :S
  #8 (permalink)  
Antiguo 09/05/2011, 09:22
Avatar de @ndreX!  
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 15 años
Puntos: 4
Respuesta: comprobar si una variable existe?

Para ver si una variable está declarada usa isset

If(isset($var))

Para ver si una variable es nula usa:

if(is_null($var))

Para ver si una variable está vacía usa:

if(empty($var))

No hay donde perderse, saludos.
__________________
Blog de Andres Ortiz: http://www.axpuntes.com/
  #9 (permalink)  
Antiguo 09/05/2011, 10:12
Avatar de rikardoz  
Fecha de Ingreso: abril-2011
Ubicación: En mi casa
Mensajes: 165
Antigüedad: 11 años, 1 mes
Puntos: 46
Respuesta: comprobar si una variable existe?

Cita:
Iniciado por rulzzz Ver Mensaje
ya si eso estaba echo, el problema no es al recibirlas si no al enviarlas.

por ejemplo si tengo:

--
if(..) { $variable=1; }

else { .... }

url.php?myget=<? echo $variable ?>
--

en este caso hay veces que existe $variable, y otras veces que no... pero a mi me gustaria que aunque no existiese se pudiera usar aunque myget quedara vacio.....

no entiendo porque en ubuntu eso si funcionaba, y ahora en linux no..... puede ser porque en server que uso ahora es una version mas avanzada? o mas vieja? o que :S
si tambien es de acuerdo a la configuracion del PHP.INI y otros
si es de acuerdo a eso.
__________________
Agregadecer no cuesta nada O SI?

Etiquetas: existe, variables
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 04:08.