Foros del Web » Programando para Internet » PHP »

session_start(), duda sobre su uso general.

Estas en el tema de session_start(), duda sobre su uso general. en el foro de PHP en Foros del Web. Hola, tengo una duda sobre el tema de las sesiones.. aver, yo se que session_start() debe ser incluido para controlar las sesiones y tal, ok. ...
  #1 (permalink)  
Antiguo 25/08/2006, 07:01
 
Fecha de Ingreso: abril-2006
Mensajes: 56
Antigüedad: 11 años, 7 meses
Puntos: 0
session_start(), duda sobre su uso general.

Hola, tengo una duda sobre el tema de las sesiones.. aver, yo se que session_start() debe ser incluido para controlar las sesiones y tal, ok.

Pero.. he visto algunos CMS donde el session_start() no lo incluyen.. o bien no lo incluyen al principio del codigo.. "que yo sepa se dice que la funcion session_start() debe estar al principio del codigo", asique ya no entiendo porque aquellos cms no lo tienen, entonces como controlan las sesiones?.

La pregunta's es:

1) ¿Existe otra manera de controlar las sesiones sin necesidad de usar sesion_start()?
2) ¿session_start() si o si debe estar al principio del codigo?

Si en la pregunta 2, la respuesta es si.. pos no tendria sentido cuando digo que ciertos cms no lo incluyen. algun ejemplo me podrian dar?

Desde ya, muchas gracias.
  #2 (permalink)  
Antiguo 25/08/2006, 07:11
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años
Puntos: 1
Cita:
Pero.. he visto algunos CMS donde el session_start() no lo incluyen..
hombre.. en algun fichero al que llaman lo tendran que incluir.. los has mirado todos?
__________________
ALOZORRO v5.0 (ahora en .es)
  #3 (permalink)  
Antiguo 25/08/2006, 07:49
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 13 años
Puntos: 1
Que tal, Azrael666 tiene razon tal vez no lo veas en todas las paginas por que hay que reutilizar codigo no se puede (no se debe) estar escribiendo siempre la misma linea de codigo en todas lsa paginas, lo mejor es crear un archivo donde puede ir incluida tal linea de código que en efecto debe ir al inicio de todas las paginas antes de hacer uso de html y llamarla en todas la paginas donde la sesion dbe propagarse, de no hacerlo asi la sesion se interrumpe.Espero que te sirva... Saludos
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
  #4 (permalink)  
Antiguo 25/08/2006, 08:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Pero.. he visto algunos CMS donde el session_start() no lo incluyen.. o bien no lo incluyen al principio del codigo.. "que yo sepa se dice que la funcion session_start() debe estar al principio del codigo", asique ya no entiendo porque aquellos cms no lo tienen, entonces como controlan las sesiones?.
Más que "al principio del código" PHP en forma textual .. lo que debe estar es antes de:

1) uso de otras funciones o acceso a variables de sesión ($_SESSION .. etc)
2) antes de cualquier otra "salida" originada al cliente: lease; algo de HTML, de un echo "algo" .. un espacio antes de <? o saltos de línea antes de <? y/o al final de ?> (sobre todo si se hacen "include()" a otros scripts).

Cita:
1) ¿Existe otra manera de controlar las sesiones sin necesidad de usar sesion_start()?
Puedes forzar un "sesion_auto_start" en php.ini (o en un .htaccess) para no tener que usar session_start() en todos los scritps involucrados que usen o accedan a sesiones. Pero, esto no es del todo recomendable .. ya que tendrás probablemente scritps que NO requieran de sesiones .. en esos casos igual se iniciaría la sesión (con el consumo de recursos del servidor para esos casos que no es necesario).

Lo ideal es meter tu "session_start()" tal vez en elgún archivo externo que llames en todos tus scripts .. (que tal vez contengan otras definiciones de variables, funciones .. etc). Sea como sea . .que el uso de session_start() sea cuando se necesite sólamente.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 25/08/2006, 08:59
 
Fecha de Ingreso: abril-2006
Mensajes: 56
Antigüedad: 11 años, 7 meses
Puntos: 0
Hola, gracias! por las respuestas.

Pues la tecnica de llamar a un archivo externo o bieni incluirlo en un idex.php nomas (sabiendo que todo lo demas.. como modulos blokes.. pasan por ese mismo index) suficiente.. ya sabia ese rollo.

Lo que decia.. es por ejemplo.. yo si tengo un index.php el cual llama a modulos blokes, etc.. pues lo que hago directamente.. inserto el session_start() en el comienzo del index.php, estaria bien puesto ahi??

Porque por ejemplo cuando cluster dice que es mejor insertarlo unicamente en los scripts que necesiten de el.. entonces poner el session al principio del index.php estaria mal o no?
  #6 (permalink)  
Antiguo 25/08/2006, 09:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Lo que decia.. es por ejemplo.. yo si tengo un index.php el cual llama a modulos blokes, etc.. pues lo que hago directamente.. inserto el session_start() en el comienzo del index.php, estaria bien puesto ahi??

Porque por ejemplo cuando cluster dice que es mejor insertarlo unicamente en los scripts que necesiten de el.. entonces poner el session al principio del index.php estaria mal o no?
Lo ideal es usarlo en los scripts que usen sesiones .. Si dices "que lo colocas en tu index" .. y la mayoría de tus scripts de tu aplicación usan sesiones (por no decir toda la aplicación) .. ahí con usalo en ese "index" que este a su vez llama a otros (por un include() o equivalente) .. sobraría.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 14:08.