Probleme session

Résolu
tilillois Messages postés 6 Date d'inscription lundi 17 avril 2006 Statut Membre Dernière intervention 17 octobre 2006 - 20 mai 2006 à 13:26
alchimiste25000 Messages postés 3 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 19 juin 2006 - 31 mai 2006 à 22:56
tilillois
Bonjour a tous
voila mon probleme
j'ai du mal a comprendre la destruction d'une variable de session,comment est-elle apelé
moi je pensai quelle s'executé quand ont quité la page mais aparement nom
qlq1 peut m'expliqué comment faire
merci pour vos reponses

4 réponses

juki_webmaster Messages postés 947 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 5 avril 2008 3
20 mai 2006 à 15:55
Salut,

Dans la majorité des navigateurs qui supporte bien les cookies, le cookies PHPSESSID est detruit, mais la session reste encore d'actualité, jusqu'a que Apache/PHP supprime les sessions expiré pour liberer de la place.

Une des methode pour detruire totalement une session:

<?php
session_start();

$_SESSION = array();

if (isset($_COOKIE[session_name()])) { // là ont va 'detruire' les cookies
setcookie(session_name(), '', time()-42000, '/');
}

session_destroy();
?>

Le mieu c'est d'executer ce code avec un lien: ce deconnecter, ou avec Javascript: à la fermeture du navigateur.

Ya pleins d'autres exemples de destruction de session, celle-ci est issu de la documentation officiel php.
3
tilillois Messages postés 6 Date d'inscription lundi 17 avril 2006 Statut Membre Dernière intervention 17 octobre 2006
21 mai 2006 à 10:10
tilillois
le probleme c'est que la majorité des gens ne se servent  jamais du bouton deconnecter
et pour ce que je veut faire faudrai que la session soit detruite automatiquement a la fermeture du site
je m'explique
dans une frame je veux affiché les membres inscrit ,j'ai donc crée une table anexe avec un seul champ, quand on ce logue , le pseudo s'inscrit dans cette table
quand on quitte le site, la session et detruite et automatiquement le pseudo dans la table anexe
j'arrive a detruire la session mai pas le pseudo dans la table
 voici mon code si qlq1 a une idée
merci pour vos reponses

 <?
session_start();
 $result=mysql_query ("DELETE  FROM connecte WHERE nom='".$_SESSION['connom']."' ");


 unset($_SESSION['connom']);
 


session_destroy();
 ?> 
0
wsecure Messages postés 4 Date d'inscription mercredi 21 décembre 2005 Statut Membre Dernière intervention 23 mai 2006
23 mai 2006 à 21:20
pour mois je vois que la reponce de juki_webmaster est trés bien suffisante je me demande est ce qu'il peut m'aider:
alors j'ai un formulaire desaisie de mot de passe , je verifie ce mot de passe dans la page verif.php une fois que j'ai verifié ce mot de passe j'ai voulu l'enregistrer dans une variable session (session_start() -- session_register("p");--par exemple)puis je passe à une page de telechargement qui sera normalement accédée que par la presence de la variable session-- mon seul prob est lorsque j'accède la page de telechargement je trouve les herreurs suivantes:
cannot send session cookie.......
session start already sent by ....
l'expression que j'ai utilisé sont vrifiés et j'ai meme utilisé des codes de phpcs mais reste toujour les memes problèmes
excusez ma longue redaction je souhaite que vous m'aidiez SVP
0
alchimiste25000 Messages postés 3 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 19 juin 2006
31 mai 2006 à 22:56
Salut,

ton probleme peut venir du fait que ton start session doit etre mis en tout premier sur ta page !
genre :
<?php
start_session() ;
..........................

j'ai moi même cette erreur précise que je n'arrive pas à corriger :

Warning: session_start(): Cannot send session cache limiter -
headers already sent (output started at
e:\programmation\easyphp1-8\www\dossier\ssdossier\index2.php:1) in e:\programmation\easyphp1-8\www\dossier\ssdossier\index2.php on line
2

comme il est indiqué le start session se trouve bien sur la ligne 2 dès le début du code, j'ai 8 pages de ce genre sur mon site commençant précisément de la meme maniere, il y en a 3 qui me mettent ce message.
quelqu'un aurait il une idée de la cause de ce probleme ??

merci de vos réponses.
0
Rejoignez-nous