2011-08-20 10 views
11

Todos los tutoriales dicen que inicie la sesión. No dicen si eso debería estar en todas las páginas del sitio web, o algunas, o solo 1.¿Iniciar sesión de inicio en 1 página o en todas las páginas?

Y si solo tiene 1 página, ¿tiene que ser la página principal? ¿O una página con un formulario que estoy creando que coloca el ID de la sesión en la base de datos? Si el visitante nunca visita una página con una identificación de sesión pero está en el sitio, ¿todavía tiene una identificación de sesión?

Respuesta

0

Todo lo que vaya a acceder a las variables de sesión debe iniciarse.

Por lo tanto, a menos que tenga una página php que no dependa de la sesión, cada página lo necesita.

17

Debe poner esto en cada página que necesite acceder a los datos de la sesión antes de acceder (o crear) cualquier dato de sesión.

Ver: http://php.net/manual/en/function.session-start.php

+0

Así que pondría el inicio de sesión en la parte superior de cada página en el sitio web, Y lo pondría en el código que colocará el ID de sesión en la base de datos mysql? ¿Entonces el inicio de la sesión debería escribirse 2 veces en esas páginas? – hmwhat

+2

No. Solo lo necesita una vez por página pero antes de acceder a los datos. – theprogrammer

14

Sólo por una cuestión de integridad se puede optar por escribir session_start(); en todas las páginas en un sólo o en ninguno de ellos. Déjame explicar esto.

Necesitas iniciar sesión en cada guión donde se necesita el acceso a $_SESSION variable, pero en vez de poner session_start(); en cada guión solo se puede crear un archivo de headers.php y poner allí todo su código repetitivo incluyendo session_start();

Si todo lo que necesita en su aplicación necesita acceso a $_SESSION, puede olvidar el uso de session_start(); simplemente configurando session.auto_start = 1 en su archivo php.ini. Podrá acceder al $_SESSION sin escribir session_start(); antes.

More here

0

tiene que declarar session_start(); en cada página si desea obtener datos de $ _SESSION o almacenar datos en $ _SESSION en esa página en particular. Si no necesita interactuar con $ _SESSION, entonces no tiene que declarar session_start(). @ Hmwhat

Cuestiones relacionadas