Foros del Web » Programando para Internet » PHP »

pequeño problema con Notice: Undefined index

Estas en el tema de pequeño problema con Notice: Undefined index en el foro de PHP en Foros del Web. Hola!!! bueno en realidad como dice el titulo tengo un problema pero es algo pequeño (creo) el asunto es que estoy haciendo un sitio, donde ...
  #1 (permalink)  
Antiguo 31/08/2011, 19:12
 
Fecha de Ingreso: abril-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
pequeño problema con Notice: Undefined index

Hola!!! bueno en realidad como dice el titulo tengo un problema pero es algo pequeño (creo)
el asunto es que estoy haciendo un sitio, donde existe un log in, entonces como es obvio creo la sesión y luego de hacerlo declaro el "id_user", lo estoy haciendo de esta manera:

Código:
 session_start();
if(isset($_SESSION['id_user']) == ""){
  $_SESSION['id_user'] == "";
 }else{
  $_SESSION['id_user'];
 }
pero me lanza el tipico error de Notice: Undefined index en [ubicacion]
por lo que no estoy seguro como solucionar, estaba casi seguro de que mi código estaba bien, hasta que me lanzo el error claro, cuando inicio la sesión obviamente desaparece el error, pero cuando ingreso por primera vez al sitio lo lanza en todas partes.

Agradecería cualquier tipo de ayuda.
pd. tambien estoy usando Error Reporting All, nose si influirá en algo (asumo que influye a que me muestre todos los errores, pero aun así, prefiero arreglar el error que taparlo).

P.d. busque dentro del sitio y por internet, pero no he podido encontrar una solución de momento.
  #2 (permalink)  
Antiguo 31/08/2011, 19:20
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: pequeño problema con Notice: Undefined index

Hola que tal.

¿En que parte de la página tienes ese código?
lo que te recomiendo en primera es que verifiques que efectivamente tienes valores con
Código PHP:
Ver original
  1. var_dump($_SESSION);

y comentas.

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #3 (permalink)  
Antiguo 31/08/2011, 19:22
 
Fecha de Ingreso: abril-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: pequeño problema con Notice: Undefined index

son las primeras lineas del index, algo lei de var_dump en algun lugar, pero no estoy seguro de que es, (ahora de hecho estoy en el manual leyendo)
de momento lo solucione con esto:

Código:
if(isset($_SESSION['id_user'])){
	$_SESSION['id_user']; 
}else{ 
	$_SESSION['id_user'] = ""; 
}
pero tampoco estoy seguro de que sea la forma correcta de hacerlo

p.d. Gracias por la pronta respuesta
  #4 (permalink)  
Antiguo 31/08/2011, 19:29
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 7 meses
Puntos: 297
Respuesta: pequeño problema con Notice: Undefined index

La función session_start() debe de estar en las primeras líneas de la página, aunque dices que lo tienes ahí.

Para mi opinión puedes prescinder del isset, ya que si "$_SESSION['id_user']" está vacía o no existe devolverá FALSE. Lo dejaría así:

Código PHP:
Ver original
  1. if(!$_SESSION['id_user']){
  2.     $_SESSION['id_user'];
  3. }else{
  4.     $_SESSION['id_user'] = NULL;
  5. }
  #5 (permalink)  
Antiguo 31/08/2011, 19:30
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: pequeño problema con Notice: Undefined index

¿Y ésta línea? ¿Qué hace según?
Código PHP:
Ver original
  1. $_SESSION['id_user'];

Estuviste muy cerca..
Código PHP:
Ver original
  1. if(!isset($_SESSION['id_user'])){
  2.     $_SESSION['id_user'] = null;
  3. }
Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #6 (permalink)  
Antiguo 31/08/2011, 19:31
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 7 meses
Puntos: 297
Respuesta: pequeño problema con Notice: Undefined index

En realidad me equivoqué esciribendo el código, porque la ! no hacía falta ponerla en el if XD pero el código que has escrito está mucho mejor que el mío ^^
  #7 (permalink)  
Antiguo 31/08/2011, 19:33
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: pequeño problema con Notice: Undefined index

Además te equivocaste en tu 'suposición'. ¿No me crees? Observa la diferencia en tu servidor local:
Código PHP:
Ver original
  1. if (!$_SESSION['asd']) {
  2.     echo 'No existe';
  3. }
  4. /**************************/
  5. if (!isset($_SESSION['asd'])) {
  6.     echo 'No existe';
  7. }

Lo mejor es usar isset() sí o sí.
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #8 (permalink)  
Antiguo 31/08/2011, 19:53
 
Fecha de Ingreso: abril-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: pequeño problema con Notice: Undefined index

Cita:
Iniciado por hasdpk Ver Mensaje
La función session_start() debe de estar en las primeras líneas de la página, aunque dices que lo tienes ahí.

Para mi opinión puedes prescinder del isset, ya que si "$_SESSION['id_user']" está vacía o no existe devolverá FALSE. Lo dejaría así:

Código PHP:
Ver original
  1. if(!$_SESSION['id_user']){
  2.     $_SESSION['id_user'];
  3. }else{
  4.     $_SESSION['id_user'] = NULL;
  5. }
lo agregue y me sirvio gracias!!

Etiquetas: index, notice, undefined
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 15:13.