Après le login de l'utilisateur, mon script va chercher dans la base de
données l'ancien numéro de session afin de la détruire. Après cela je
lance l'instruction session_start() afin d'obtenir un nouvelle session.
Au passage avec la page suivante le script essaye de se connecter à
l'ancienne session, bien entendu détruite. Je fais passer le numéro
session par l'url mais je pense que le php utilise de préférence les
cookies.
Ce qui est le plus désagréable, c'est que la page a marché pendant deux semaines comme ça et d'un coup j'ai ce problème.
Si vous connaisez la réponse à mon problème merci, sinon comment fait
on pour empêcher php de passer par les cookies, sachant que les pages
sont sur un serveur dont je ne controle pas le php.ini.
si tu nous détaillais ton problème peut-être plus précisément on
pourrait t'aider je pense. Ton problème exact c'est quoi ? si tu
détruis une session comment PHP peut "tenter d'accéder à l'ancienne
session" ? pour toucher aux sessions faut du code PHP, PHP ne le fait
pas tout seul...
Bref me concernant je n'ai pas compris ton problème.
En fait la base de données conserve les anciens numéros de session.
Lorsque je loggue, le script va chercher l'ancien numéro de session,
s'y connecte et la détruit afin de décharger le serveur. Ensuite je
demande l'attribution d'un numéro de session que je passe par l'url
vers la page suivante. Le problème est que la page suivante n'utilise
pas le numéro de session que je viens de demander mais celui qui a été
destroy.
Le problème est très désagréable et je suis à la recherche d'une méthode différente afin de me débarasser des sessions.
Euh le but des sessions c'est de demarrer lorsque tu passe
session_start(); et le grand interet des sessions c'est que lorsque
l'utilisateur se deconnecte, la session est detruite. Les sessions
c'est un fichier creer par php (dans le repertoire sessions pour free
par exemple sinon dans /var/www/ en general) qui va se detruire tout
seul (enfin par ton serveur apache) lorsque l'utilisateur va se
deconnecter donc .... pas besoin de supprimer la variable session,
c'est fait automatiquement lorsque tu quitte ton explorateur internet.
L'interet de detruire une variable session (par session_destroy(); )
c'est de pouvoir se deloguer manuellement d'un site sans avoir a
relancer son explorateur internet (par exemple pour pouvoir utiliser un
autre compte utilisateur). Donc ici, aucun besoin de sauvegarder les
numeros de sessions dans une base de donnees pour pouvoir la detruire
ensuite :)
Lorsque l'utilisateur ferme son navigateur le fichier texte contenant
la session n'est pas supprimé par le serveur immédiatement, mais au
bout d'un temps session.lifetime défini dans le php.ini, par défaut 24
minutes.