| ||||
... ... De nuevo.. PHP es lenguaje del lado del servidor... Como estas buscando una funcion "al cerrar la ventana" dependeria de JavaScript... Lo que se me ocurre es manejar cookies... y con la función uload (de JS) borrar esa cookie... pero es lo que debes estar haciendo ¿no?... Pregunta en el foro de JS sobre el error en tu código. Suerte!
__________________ ٩(͡๏̯͡๏)۶ "100 años después, la revolución no es con armas, es intelectual y digital" |
| ||||
!!!! Otro dato... y que sí corresponde a este foro: Puedes definir la duración de una sesión... No se destruirá exactamente al cerrar tu ventana pero quizá te sirva ... pero ahí sí busca en el foro... ignoro el tema. Pregunta: Si tienes algo ya hecho cierto???.. como mencionas de un error solo con Mozilla-FireFox supongo logras hacerlo con IExplorer... Saludos!
__________________ ٩(͡๏̯͡๏)۶ "100 años después, la revolución no es con armas, es intelectual y digital" |
| ||||
Pues curiosamente con IExplorer la sesión se autodestruye cada vez que sales del navegador, y no hay que hacer nada extra para conseguirlo. voy a mirar también lo de la duración de la sesión. Llevas razón que puede ser una solución no perfecta, pero válida. |
| ||||
No sabia que hacia eso el Iexplorer... pero si esto no dependeria del explorador.... debe de ser por el metodo de propagación. Ya vendrá un experto a explicarnos. Saludos!
__________________ ٩(͡๏̯͡๏)۶ "100 años después, la revolución no es con armas, es intelectual y digital" Última edición por jam1138; 23/03/2005 a las 02:18 |
| ||||
Tema solucionado Lo conseguí a través de la siguiente orden: session_set_cookie_params(0, "/", $HTTP_SERVER_VARS["HTTP_HOST"], 0); También hay que tener en cuenta que Mozilla no se cierra por completo por el simple hecho de cerrar el navegador. Es decir, que si tienes abierto el Mozilla Mail o el Inicio Rápido de Mozilla aunque cierres el navegador la sesión no se destruye. |
| ||||
... Gracias por contribuir al foro no olvidandote de mensionar la solución... ¿dónde lo hayaste?... digo!, para entenderlo.. Suerte!
__________________ ٩(͡๏̯͡๏)۶ "100 años después, la revolución no es con armas, es intelectual y digital" |
| ||||
y esto donde lo pongo? Tengo el mismo problema, cuando mis usuarios cierran el navegador la sesion no se destruye sigue ahi! y eso es problemtico!! Seguyn vi hay una instruccion: session_set_cookie_params(0, "/", $HTTP_SERVER_VARS["HTTP_HOST"], 0); pero eso donde lo coloco o que onda ? o que otra solucion pouede haber? segun vi tambien se modifica en el php.ini pero eso donde esta? no entiendo :S |
| ||||
Cita: Tú mismo me diste la pista diciendo que sería controlando la duración de la sesión, así que investigando un poco encontré esto:
Iniciado por jam1138 ... Gracias por contribuir al foro no olvidandote de mensionar la solución... ¿dónde lo hayaste?... digo!, para entenderlo.. Suerte! http://es2.php.net/manual/es/functio...kie-params.php El 0 son los segundos que dura la sesión, y el $HTTP_SERVER_VARS["HTTP_HOST"] lo que hace es poner el nombre del dominio donde se aplica la cookie. en cuanto a la pregunta de que dónde va esa línea, yo la pongo justo por debajo de la línea en la que empiezas la sesión: Este es el principio de mis archivos: <? session_cache_limiter('nocache,private'); session_start(); session_set_cookie_params(0, "/", $HTTP_SERVER_VARS["HTTP_HOST"], 0); |
| |||
Cita: En tu caso .. tendrás que "estudiar" como funcionan los scripts de esa aplicación .. donde gestiona la sesión .. donde la usa ..o ver si tiene esa opción en tu panel de administración de dicha aplicación.
Iniciado por zvnko sigo sin entender, uso phpnuke y aun tengo la duda de donde colocarlo :s Por ejemplo "yo" por mucho que sepa de PHP .. realmente no tengo ni idea de como funciona PHP-Nuke en cuanto a esa gestión de sus sesiones. Puedes consultar en el foro de "Aplicaciones pre-fabricadas" .. O si tienes acceso a tu php.ini .. modifica la directiva: session.cookie_lifetime lo dejas en 0 y reinicias tu servidor .. Esa configuración así afectará a todo script PHP que se ejecute en ese servidor .. no sólo a tu "PHP-Nuke". Un saludo, |
| |||
Cita: Pues no pasa nada .. tu sesión sigue activa hasta que "mate" la última ventana de tu aplicación .. El SID se propaga en la cookie .. la cookie tiene duración 0 pero es de tipo "sesión" . .es decir .. si pasas a otro script de tu sitio seguidamente esta sigue "viva" hasta eso mismo .. hasta que cierres la última ventana de tu sitio.
Iniciado por pachu2004 Una pregunta ¿Y que pasa con esta instrucción cuando el usuario navega de una página a la otra de nuestro sitio? ¿Las sesiones iniciadas siguen o desaparecen? También habría que asegurarse que este comportamiento sea así usando y forzando el uso de la propagación del SID en cookies exclusivamente usando (php.ini o ini_set() ): session.use_only_cookies = 1 Y desactivando: session.use_trans_sid = 0 Un saludo, |
| |||
No resulta Bueno, pues yo tengo el mismo problema y probé a ponerle la línea con la que tognaco resolvió su problema, pero no me funciona la solución. Ya probé poniendolo después del session_start y nada, siempre que abro un nuevo navegador en Firefox, el sistema es accesible. Será porque estoy haciendo mis pruebas desde un localhost en una PC o que será? Saludos! |
| ||||
Cita: Yo por ejemplo no tengo aacceso al php.ini ¿Donde puedo conseguir información para trabajar con ini_set() con lo que propones, Cluster?
Iniciado por Cluster También habría que asegurarse que este comportamiento sea así usando y forzando el uso de la propagación del SID en cookies exclusivamente usando (php.ini o ini_set() ): session.use_only_cookies = 1 Y desactivando: session.use_trans_sid = 0 |
| |||
Hazlo por configuración de PHP y ajusta la propagación del SID en cookies exclusivamente (como detallo en mi mensaje anterior) .. Pruebalo y nos comentas (asegurate que todo cambio que hagas se refleje en tu phpinfo() ..) Un saludo, |
| |||
Cita: En ..
Iniciado por TurKa Yo por ejemplo no tengo aacceso al php.ini ¿Donde puedo conseguir información para trabajar con ini_set() con lo que propones, Cluster? www.php.net/ini_set Pero si no tienes acceso a tu php.ini .. suponemos que usas un servicio de hosting? .. si es así .. verifica que tengas permitido también el uso de ini_set() en muchas ocasiones tampoco podrás ejecutarlo (ya veras un error referente a esa misma limitación). Un saludo, |
| ||||
Cita: Pos no te has equivocado en nada! Ya vi el error
Iniciado por Cluster En .. www.php.net/ini_set Pero si no tienes acceso a tu php.ini .. suponemos que usas un servicio de hosting? .. si es así .. verifica que tengas permitido también el uso de ini_set() en muchas ocasiones tampoco podrás ejecutarlo (ya veras un error referente a esa misma limitación). Por las dudas, pregunto para ver si no lo estoy utilizando bien.- (la información la obtuve en http://ar2.php.net/ini_set) Yo puse esto: <? ini_set(session.use_only_cookies,1); ini_set(session.use_trans_sid,0); ?> ¿Se escribe así o hice una burrada? Es decir, yo vi esto: string ini_set ( string nombre_var, string nuevo_valor ) y lo reemplacé tal cual, por esto: ini_set(session.use_only_cookies,1) Me pregunto si debería haberlo hecho de otra forma |
| |||
Los valores de ini_set() son "strings" .. así que deben tener comillas: Cita: ini_set (PHP 4 , PHP 5) ini_set -- Establece el valor de una opción de configuración Descripción string ini_set ( string nombre_var, string nuevo_valor ) Código PHP: |
| |||
Pues así está, y sin embargo, deja entrar! Cita:
Iniciado por Cluster Hazlo por configuración de PHP y ajusta la propagación del SID en cookies exclusivamente (como detallo en mi mensaje anterior) .. Pruebalo y nos comentas (asegurate que todo cambio que hagas se refleje en tu phpinfo() ..) Un saludo, Estas son las líneas de mi php.ini que me parece tienen que ver con el tema. ; Whether to use cookies. session.use_cookies = 1 ; This option enables administrators to make their users invulnerable to ; attacks which involve passing session ids in URLs; defaults to 0. ; session.use_only_cookies = 1 ; Name of the session (used as cookie name). session.name = PHPSESSID ; Initialize session on request startup. session.auto_start = 0 ; Lifetime in seconds of cookie or, if 0, until browser is restarted. session.cookie_lifetime = 0 ; The path for which the cookie is valid. session.cookie_path = / ; The domain for which the cookie is valid. session.cookie_domain = ; trans sid support is disabled by default. ; Use of trans sid may risk your users security. ; Use this option with caution. ; - User may send URL contains active session ID ; to other person via. email/irc/etc. ; - URL that contains active session ID may be stored ; in publically accessible computer. ; - User may access your site with the same session ID ; always using URL stored in browser's history or bookmarks. session.use_trans_sid = 0 Así lo tengo y sin embargo al regresar con Firefox se puede entrar sin problemas.. Porque??? |