Foros del Web » Programando para Internet » PHP »

Problema con session_start()

Estas en el tema de Problema con session_start() en el foro de PHP en Foros del Web. Buenas noches, tengo un problema: Tengo en mi página principal un session_start(), pero también tengo uno en una clase llamada BaseDeDatos; entonces, si instancio la ...
  #1 (permalink)  
Antiguo 18/10/2010, 17:52
 
Fecha de Ingreso: mayo-2009
Mensajes: 31
Antigüedad: 15 años
Puntos: 1
Busqueda Problema con session_start()

Buenas noches, tengo un problema:

Tengo en mi página principal un session_start(), pero también tengo uno en una clase llamada BaseDeDatos; entonces, si instancio la clase BaseDeDatos en la página principal me sale el siguiente error:

"Notice: A session had already been started - ignoring session_start() in..."

El problema es que no puedo eliminar el llamado a session_start() en la clase, porque no sé si siempre que la instancie habrá ya una sesión iniciada.

¿Hay alguna manera de prevenir esto con un if?
  #2 (permalink)  
Antiguo 18/10/2010, 17:58
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años
Puntos: 322
Respuesta: Problema con session_start()

Deja una session_start() al inicio del archivo y no habras ninguna mas... Supongo que esa es la unica solucion...
De todas maneras va a seguir funcionando tu script
__________________
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
  #3 (permalink)  
Antiguo 18/10/2010, 18:13
 
Fecha de Ingreso: mayo-2009
Mensajes: 31
Antigüedad: 15 años
Puntos: 1
Respuesta: Problema con session_start()

Es que en el archivo tengo una sola al principio, la otra la abre la clase BaseDeDatos, pero no la puedo eliminar de la clase, porque el todos los archivos que la incluya no va a haber una sesión iniciada.
  #4 (permalink)  
Antiguo 18/10/2010, 18:18
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Problema con session_start()

pues si no la puedes quitar de tu clase de conexion quitala del otro archivo no crees que te estas ahogando en un vaso de agua??
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 18/10/2010, 18:18
 
Fecha de Ingreso: mayo-2009
Mensajes: 31
Antigüedad: 15 años
Puntos: 1
Respuesta: Problema con session_start()

Lo solucioné incluyendo esta condición en mi clase:

Código PHP:
if(!isset($_SESSION)){
    
session_start();

  #6 (permalink)  
Antiguo 18/10/2010, 18:19
 
Fecha de Ingreso: mayo-2009
Mensajes: 31
Antigüedad: 15 años
Puntos: 1
Respuesta: Problema con session_start()

No la podía quitar de ninguno de los dos, en el primero necesitaba iniciar la sesión antes para usar unas variables. La solución era el IF
  #7 (permalink)  
Antiguo 18/10/2010, 18:21
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años
Puntos: 322
Respuesta: Problema con session_start()

No ocupas nada de eso :P
Simplemente borra la sesion de la clase, y en cada archivo que la necesites, simplemente
abres la session...
__________________
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 18/10/2010, 18:27
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Problema con session_start()

Cita:
Iniciado por Dark_Musician Ver Mensaje
No la podía quitar de ninguno de los dos, en el primero necesitaba iniciar la sesión antes para usar unas variables. La solución era el IF
pues amigo si tu estas incluyendo un archivo dentro del otro las variables de este pasan a ser parte del archivo donde lo estas llamando si yo tengo esto
archivo1.php
Código PHP:
Ver original
  1. include("archivo2.php");
  2. echo $_SESSION['prueba'];
archivo2.php
Código PHP:
Ver original
  1. $_SESSION['prueba']='hola';
cuando en el navegador llam al archivo1.php se va a ejecutar el hola, yo imagino que tu incluyes en el archivo que tenias la clase de conexion que tienes con un include require como lo hagas por eso te decia que lo quitaras del archivo1.php en el ejemplo ya que siempre vas a incluir archivo2.php del ejemplo y vas a tener la session iniciada pero bue, si lo resolviste de esa manera que bien saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: Ninguno
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 13:40.