Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2661 connectés 

 


Dernière réponse
Sujet : [Javascript & HTML] OnUnload et Mozilla
gm_superstar Ce que tu peux faire, c'est stocker l'ID de la session dans un cookie qui n'expire pas lors de la fermeture du navigateur, mais, par exemple, 1 heure après la dernière consultation d'une page de ton site.
 
Si un client se reconnecte avec un cookie non expiré, il sera dans ce cas reconnu et pourra réutiliser sa session. Si, au contraire, il se présente sans cookie il devra recréer une session.
 
Mais ceci ne te dispense pas d'imaginer un mécanisme pour effacer les sessions périmées de ta BDD (celles qui n'ont pas été mises à jour depuis 1 heure).
 
Voilà l'idée, après à toi d'adapter.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
gm_superstar Ce que tu peux faire, c'est stocker l'ID de la session dans un cookie qui n'expire pas lors de la fermeture du navigateur, mais, par exemple, 1 heure après la dernière consultation d'une page de ton site.
 
Si un client se reconnecte avec un cookie non expiré, il sera dans ce cas reconnu et pourra réutiliser sa session. Si, au contraire, il se présente sans cookie il devra recréer une session.
 
Mais ceci ne te dispense pas d'imaginer un mécanisme pour effacer les sessions périmées de ta BDD (celles qui n'ont pas été mises à jour depuis 1 heure).
 
Voilà l'idée, après à toi d'adapter.
SCREAM78 En fait j'utilise la bdd pour enregistrer le numéro de session que je cre et le login du mec connecté ... pour éviter que deux gugus se connectent depuis deux machine avec le meme login.
Donc ce que je voulais faire ... c qd l'utilisateur ferme son navigateur, je vire cette session de ma bdd ... comme ca si au bout de 2 min il veut se relogguer il peut ... (j'utilise cette bdd pour savoir qui est loggué, si apres le login je trouve une entree dans la bdd => je dis que qcn est deja loggué avec cet account).
gm_superstar Je ne sais pas trop quel mécanisme tu utilises pour gérer les sessions (tu parlais d'une BDD, donc tu ne dois pas utiliser les sessions PHP4), mais qu'une session expire quand on ferme le navigateur c'est normal car par défaut le cookie qui enregistre l'ID de la session expire dès qu'on ferme le navigateur.
 
Il faut donc que ta gestion de sessions dispose d'un mécanisme qui efface régulièrement les sessions qui ne sont plus utilisées.
SCREAM78 Je veux virer mes sessions car qd l'utilisateur ferme la fenetre dans laquelle g creer une session et ouvre un nouveau navigator il ne reconnait pas la session qui a ete ouverte.
En fait tant que l'utilisateur ne ferme pas la fenetre ca va ... il peut aller surfer n'importe ou et revenir sur ma page ... mais si il ferme la fenetre et lance un nouveau navigateur c foutu.
Je c pas si c normal ... c la 1ere fois que j'utilise les sessions.
gm_superstar

SCREAM78 a écrit a écrit :

Slt,
 
En fait je load deux frame a partir de ma page principale index.php (left.php et right.php) des le debut.
G mit le code du dessus dans left.php.
G essayé en minuscule mais ca marche pas non plus. G essayé de deplacer le onunload="Exit();" dans index.php mais la plus rien ne marche lol
Ma fonction exit appelle une fonction Javascript que g faire qui m'ouvre une fenetre popup. rien de bien spécial koi ...
Merci



Tu l'as bien mis dans l'élément <frameset> ?

Citation :

Derniere petite note ... moi je veux que ca soit qd il ferme le navigateur ... mais je sais pas si c possible avec mozilla ... effectivement qd je quitte la page pour une autre page web ca marche ;)


Non ce n'est pas possible avec Mozilla qui suit à lettre ce qui est écrit dans la spec : http://www.w3.org/TR/html4/interac [...] f-onunload Onunload doit être appelé lorsqu'on décharge une page (quand on passe à une autre) pas quand on ferme le navigateur. Cela dit, IE lui le fait. Pour Mozilla tu peux passer par Javascript et utiliser window.onclose ( http://www.mozilla.org/docs/dom/do [...] ml#1000143 ) Mais je ne suis pas arrivé à le faire marcher :/
 
Cela pourquoi tiens-tu absolument à virer tes sessions ? Tu n'as pas un mécanisme de garbage-collector qui vire les sessions périmées ?

SCREAM78 Slt,
 
En fait je load deux frame a partir de ma page principale index.php (left.php et right.php) des le debut.
G mit le code du dessus dans left.php.
G essayé en minuscule mais ca marche pas non plus. G essayé de deplacer le onunload="Exit();" dans index.php mais la plus rien ne marche lol
Ma fonction exit appelle une fonction Javascript que g faire qui m'ouvre une fenetre popup. rien de bien spécial koi ...
Merci
 
Derniere petite note ... moi je veux que ca soit qd il ferme le navigateur ... mais je sais pas si c possible avec mozilla ... effectivement qd je quitte la page pour une autre page web ca marche ;)
gm_superstar Heu onunload ça marche avec Mozilla. Le problème ne viendrait pas de ta fonction exit() ?
 
Cela dit attention à plusieurs points :
 - onunload doit être normalement être appelé quand on quitte la page, pas quand on quitte le navigateur.
 - penser à bien écrire onunload en miniscules si tu es en HTML strict ou en XHTML.
SCREAM78 [:gotcha]
SCREAM78 Bonjour,
 
Mon OnUnload ne fonctionne pas sous mozilla ... il marche tres bien sous IE. JE l'ai mit dans la balise body
<BODY OnUnload="Exit();">
Y'a t'il une solution alternative pour réaliser une action qd l'utilisateur ferme la page principale d'un site. En l'occurence je voudrai virer la session qu'il a creer (que je met dans une BDD).
Merci

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)