Foros del Web » Programando para Internet » PHP »

¿Mejor con el "isset" o sin él?

Estas en el tema de ¿Mejor con el "isset" o sin él? en el foro de PHP en Foros del Web. Hola. En una página con un formulario tengo una condución de que si metes bien el nombre y coincide con el que hay en la ...
  #1 (permalink)  
Antiguo 28/08/2010, 07:54
 
Fecha de Ingreso: abril-2004
Mensajes: 107
Antigüedad: 20 años
Puntos: 0
Pregunta ¿Mejor con el "isset" o sin él?

Hola.

En una página con un formulario tengo una condución de que si metes bien el nombre y coincide con el que hay en la base de datos entonces se cumple que:

Código PHP:
$_SESSION['usuario_valido']=$usuario

Entonces si se cumple en la siguiente página, a la que soy redirigido automáticamente, hago otra condición para que si "usuario_valido" está registrado se vea la página y si no, no se vea.

Lo he probado a ponerlo así:
Código PHP:
if ($_SESSION['usuario_valido'])

Y así:
Código PHP:
if (isset($_SESSION['usuario_valido']))

Con ambas funciona. Pero me pregunto ¿Qué diferencia hay y cual es mejor acostumbrarse a usar para estos casos?


Gracias.
  #2 (permalink)  
Antiguo 28/08/2010, 08:23
 
Fecha de Ingreso: diciembre-2009
Mensajes: 186
Antigüedad: 14 años, 4 meses
Puntos: 5
Respuesta: ¿Mejor con el "isset" o sin él?

Hola varuk,

No se si entendí bien lo que quieres decir, lo que entiendo es que si se cumple la condición primera, se ejecuta
Código:
$_SESSION['usuario_valido']=$usuario;

Son condiciones distintas.
En la primera:
Código:
if ($_SESSION['usuario_valido'])
{
Compruebas si $_SESSION['usuario_valido'] es TRUE o FALSE, es decir, la variable existe y comprueba su valor.

la segunda:
Código:
if (isset($_SESSION['usuario_valido']))
{
compruebas que exista una variable (no su valor), en este caso el elemento del array $_SESSION['usuario_valido'].



Si estas seguro de que siempre existe la variable $_SESSION['usuario_valido'] no te hace falta comprobar
Código:
if (isset($_SESSION['usuario_valido']))
{
en cuanto a la otra comparacion yo la cambiaria por la siguiente
Código:
if ($_SESSION['usuario_valido']==$usuario)
{
ya que pueden darse valores para el elemento $_SESSION['usuario_valido'] que pueden dar como resultado de la comparación FALSE.
  #3 (permalink)  
Antiguo 28/08/2010, 08:31
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: ¿Mejor con el "isset" o sin él?

depende de lo que necesites, si necesitas saber si la variable de sesión fu declarada esté vacía o no, usas isset.

el punto clave es que isset se usa preferiblemente con $_POST o $_GET para verificar si los datos fuesen enviados por tales métodos, aún así estén vacíos o no.
  #4 (permalink)  
Antiguo 28/08/2010, 08:49
 
Fecha de Ingreso: abril-2004
Mensajes: 107
Antigüedad: 20 años
Puntos: 0
Respuesta: ¿Mejor con el "isset" o sin él?

¿Entonces también lo mejor es poner esto?

if ((isset($_SESSION['usuario_valido'])) && ($_SESSION['usuario_valido'])
{
  #5 (permalink)  
Antiguo 28/08/2010, 09:29
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Respuesta: ¿Mejor con el "isset" o sin él?

Cita:
Iniciado por varuk Ver Mensaje
¿Entonces también lo mejor es poner esto?

if ((isset($_SESSION['usuario_valido'])) && ($_SESSION['usuario_valido'])
{
No, ya que la segunda condición contiene la primera.

Es decir, comprobando
Código PHP:
if ($_SESSION['usuario_valido']) 
Ya estás comprobando también si fue declarada (isset)
  #6 (permalink)  
Antiguo 28/08/2010, 10:25
 
Fecha de Ingreso: agosto-2010
Mensajes: 7
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: ¿Mejor con el "isset" o sin él?

normalmente yo utilizaria el siguiente codigo para ese tipo de condiciones:

if (isset($_SESSION['usuario_valido']) && !empty($_SESSION['usuario_valido'])){
/* Devolveria true si se cumplen las dos condiciones */
}

con esto me aseguro de que ese elemento(variable) en el arreglo sesion ya este definido y de que contenga un valor. por logica, ese valor es el que previamente haz guardado.
  #7 (permalink)  
Antiguo 28/08/2010, 12:33
 
Fecha de Ingreso: abril-2004
Mensajes: 107
Antigüedad: 20 años
Puntos: 0
Respuesta: ¿Mejor con el "isset" o sin él?

Correcto. Mas o menos ya me he enterado del tema ^^.

Muchísimas gracias.

Etiquetas: mejoras
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




La zona horaria es GMT -6. Ahora son las 00:31.