$_SESSION réinitialisé aléatoirement
Résolu/Fermé
zeka95
Messages postés
6
Date d'inscription
mardi 1 septembre 2009
Statut
Membre
Dernière intervention
1 septembre 2009
-
1 sept. 2009 à 00:40
TiboleParano Messages postés 498 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 7 avril 2015 - 1 sept. 2009 à 15:27
TiboleParano Messages postés 498 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 7 avril 2015 - 1 sept. 2009 à 15:27
A voir également:
- $_SESSION réinitialisé aléatoirement
- Réinitialisé - Guide
- Cet appareil a été réinitialisé pour continuer connectez vous avec un compte google ✓ - Forum Mobile
- Mon pc s'est réinitialisé tout seul ✓ - Forum Windows
- Téléphone inutilisable suite réinitialisation - Forum Samsung
- Votre appareil a été réinitialisé aux paramètres d'usine vous pouvez le - Forum Mobile
11 réponses
zeka95
Messages postés
6
Date d'inscription
mardi 1 septembre 2009
Statut
Membre
Dernière intervention
1 septembre 2009
1 sept. 2009 à 10:53
1 sept. 2009 à 10:53
Bjr, merci pour ta réponse, mais non je n'ai pas changer de version en cours de développement.
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
1 sept. 2009 à 11:03
1 sept. 2009 à 11:03
Hmm Hmm, bizarre, vous avez dit bizarre ?
en effet, si les variables de sesions pouvaient passer dans une autre dimension pour quelques instants, ce serait chiant.
est-ce que le retour à la page d'acceuil est le seul indice qui te fait croire que $_SESSION a été effacé ? est-ce que le problème ne pourrait pas être une redirection sur la page d'acceuil qui se lancerait à un mauvais moment ?
essaye de rajouter ceci sur ta page d'acceuil:
tu verras ce qui reste dans ton $_SESSION
en effet, si les variables de sesions pouvaient passer dans une autre dimension pour quelques instants, ce serait chiant.
est-ce que le retour à la page d'acceuil est le seul indice qui te fait croire que $_SESSION a été effacé ? est-ce que le problème ne pourrait pas être une redirection sur la page d'acceuil qui se lancerait à un mauvais moment ?
essaye de rajouter ceci sur ta page d'acceuil:
<?php session_start(); ?> <pre> <?php print_r($_SESSION); ?> </pre>
tu verras ce qui reste dans ton $_SESSION
zeka95
Messages postés
6
Date d'inscription
mardi 1 septembre 2009
Statut
Membre
Dernière intervention
1 septembre 2009
1 sept. 2009 à 11:16
1 sept. 2009 à 11:16
Bjr merci pour ta reponse!
J'ai déjà fait ce que tu me propose.
Je précise:
Pour la sécurité de la page, je teste, après chaque session_start(), une variable de session, qui permet de savoir si la personne qui a ouvert la session a le droit de venir sur cette page, exemple:
if ($_SESSION["admin"]["role"] != 4) header(location : index.php); ( 4 étant un type de membre précis)
sinon on continue d'afficher la page.
J'affiche donc après le session_start() avec un print_r($_SESSION) pour savoir si il n'y a que cette variable qui est détruite, mais en faite tout le tableau admin est détruit, ou inexistant.
les variables comme $_SESSION["YYY"], $_SESSION["XXX"], sont présentes, comme elles l'étaient avant, mais le tableau $_SESSION["admin"](qui contient les données du membre) est inexistante. Et des fois,si je re-refresh, $_SESSION["admin"] est re-là... Pourquoi seul admin est detruit et de facon aléatoire? Es-ce parce que j'ai une table qui s'appelle admin?
J'ai déjà fait ce que tu me propose.
Je précise:
Pour la sécurité de la page, je teste, après chaque session_start(), une variable de session, qui permet de savoir si la personne qui a ouvert la session a le droit de venir sur cette page, exemple:
if ($_SESSION["admin"]["role"] != 4) header(location : index.php); ( 4 étant un type de membre précis)
sinon on continue d'afficher la page.
J'affiche donc après le session_start() avec un print_r($_SESSION) pour savoir si il n'y a que cette variable qui est détruite, mais en faite tout le tableau admin est détruit, ou inexistant.
les variables comme $_SESSION["YYY"], $_SESSION["XXX"], sont présentes, comme elles l'étaient avant, mais le tableau $_SESSION["admin"](qui contient les données du membre) est inexistante. Et des fois,si je re-refresh, $_SESSION["admin"] est re-là... Pourquoi seul admin est detruit et de facon aléatoire? Es-ce parce que j'ai une table qui s'appelle admin?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
1 sept. 2009 à 11:39
1 sept. 2009 à 11:39
j'aavoue n'avoir jamais utilisé de matrices (tableau à deux dimension) donc peut être que le bug est là, que le chargement est trop compliqué, essaye de remplacer en utilisant d'autre variables plus simple (directement dans $_SESSION[] et non dans $_SESSION['admin'][]) si le bug a disparu, tu sais ce que sa veu dire
zeka95
Messages postés
6
Date d'inscription
mardi 1 septembre 2009
Statut
Membre
Dernière intervention
1 septembre 2009
1 sept. 2009 à 13:05
1 sept. 2009 à 13:05
Merci encore,
Mais apparemment j'ai trouvé la solution,
Depuis 10minutes d'utilisation, plus de retour à la page index. Je mettrai résolu après 24h de test si ça marche tjrs.
en effet j'ai créer un dossier session, et j'ai mis avant le session_start() la commande suivante: session_save_path("./session/");
Et apparemment ceci marche.
Merci encore, Cordialement,
Mais apparemment j'ai trouvé la solution,
Depuis 10minutes d'utilisation, plus de retour à la page index. Je mettrai résolu après 24h de test si ça marche tjrs.
en effet j'ai créer un dossier session, et j'ai mis avant le session_start() la commande suivante: session_save_path("./session/");
Et apparemment ceci marche.
Merci encore, Cordialement,
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
1 sept. 2009 à 13:36
1 sept. 2009 à 13:36
Content d'avoir pu t'aider dans la démarche,
pour info peut tu expliquer ce à quoi sert cette fonction ? les prochaines personnes qui auront le problème pourront mieux comprendre.
Cela permet de ... sauvegarder la session, pas compliqué :P mais cela permet ausi de la recharger automatiquement, c'est sa ?
Merci
pour info peut tu expliquer ce à quoi sert cette fonction ? les prochaines personnes qui auront le problème pourront mieux comprendre.
Cela permet de ... sauvegarder la session, pas compliqué :P mais cela permet ausi de la recharger automatiquement, c'est sa ?
Merci
zeka95
Messages postés
6
Date d'inscription
mardi 1 septembre 2009
Statut
Membre
Dernière intervention
1 septembre 2009
1 sept. 2009 à 13:51
1 sept. 2009 à 13:51
D'après un site web concurrent:
"Comment faire cohabiter sur le même serveur deux applications utilisant les sessions ?
Dans le cas où un serveur HTTP héberge plusieurs applications PHP utilisant chacune les sessions, il peut y avoir des problèmes si plusieurs applications utilisent les mêmes variables de sessions (lorsque un utilisateur visite simultanément plusieurs applications).
Pour résoudre ce problème il suffit de définir un nom de session différent pour chacune des applications lors de la création de la session :
session_name('appli1');
session_start();
Puis de rappeler ce nom lors de l'utilisation des variables de la session dans l'application.
session_name('appli1');
session_start();
Autre solution, au démarrage d'une nouvelle session, pour éviter tout conflit dans l'utilisation des noms de variables de session, spécifier un autre chemin de sauvegarde des données de session avec session_save_path()."
Pour moi la première solution n'a pas marché, mais la deuxième oui.
Je n'avais pas deux applications en cours, mais cependant de forcer les sessions a un endroit a pu le résoudre, apparemment...
"Comment faire cohabiter sur le même serveur deux applications utilisant les sessions ?
Dans le cas où un serveur HTTP héberge plusieurs applications PHP utilisant chacune les sessions, il peut y avoir des problèmes si plusieurs applications utilisent les mêmes variables de sessions (lorsque un utilisateur visite simultanément plusieurs applications).
Pour résoudre ce problème il suffit de définir un nom de session différent pour chacune des applications lors de la création de la session :
session_name('appli1');
session_start();
Puis de rappeler ce nom lors de l'utilisation des variables de la session dans l'application.
session_name('appli1');
session_start();
Autre solution, au démarrage d'une nouvelle session, pour éviter tout conflit dans l'utilisation des noms de variables de session, spécifier un autre chemin de sauvegarde des données de session avec session_save_path()."
Pour moi la première solution n'a pas marché, mais la deuxième oui.
Je n'avais pas deux applications en cours, mais cependant de forcer les sessions a un endroit a pu le résoudre, apparemment...
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
1 sept. 2009 à 14:40
1 sept. 2009 à 14:40
ouaip, jpense qu'à chaque fois qu'il tombe sur cette ligne de code, il sauvegarde la session courante si session il y a, ou charge la session sauvegardée sinon. Ce qui expliquerai que cela fonctionne
au fait, par rapport au premier post, il est conseillé d'utiliser session_destroy() plutot que unset($_SESSION), apparament cela entrainerait des perturbations sur la session, notamment par rapport à l'utilisation de variables globales (je dis sa parcque je l'ai lu en coup de vent sur php manual .net, je farfouillait pour ton prb) et unset($_SESSION), ca me semble bien êre la fonction qui aurait créé ton problème, mais
1 tu as dis qu'elle ne se lancait que sur la page de déconexion
2 De toute facon t'as déja trouvé une solution
Merci d'avoir précisé ;) Bon cod@ge
au fait, par rapport au premier post, il est conseillé d'utiliser session_destroy() plutot que unset($_SESSION), apparament cela entrainerait des perturbations sur la session, notamment par rapport à l'utilisation de variables globales (je dis sa parcque je l'ai lu en coup de vent sur php manual .net, je farfouillait pour ton prb) et unset($_SESSION), ca me semble bien êre la fonction qui aurait créé ton problème, mais
1 tu as dis qu'elle ne se lancait que sur la page de déconexion
2 De toute facon t'as déja trouvé une solution
Merci d'avoir précisé ;) Bon cod@ge
zeka95
Messages postés
6
Date d'inscription
mardi 1 septembre 2009
Statut
Membre
Dernière intervention
1 septembre 2009
1 sept. 2009 à 14:46
1 sept. 2009 à 14:46
Bah je sais pas où était sauvegardé temporairement la session quand je n'avais pas mis cette commande, mais le fait de préciser l'endroit doit lui accordé plus de mémoire, ou une gestion plus facile, ou un truc du genre, ( chui pas du tout caler dans le font, j'connais que la forme :p), et oui les fonction unset et destroy ne se lance que si l'on on met dans le lien "quit" et qu'on est sur la page index...
En tt cas merci et bonne continuation! :)
En tt cas merci et bonne continuation! :)
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
1 sept. 2009 à 15:27
1 sept. 2009 à 15:27
et lrpincipal:
have fun
tape toi des dizaines de bugs
be crazy
trouve la solution après deux dolipranes
soit fièr de toi
trouve un bug qui, finalement, est peut-être pratique sans le vouloir utile
attend la prochaine idée
ai peur de ce qu'il te reste à faire
...
..
.
I <3 logique, le programme est mon arme
have fun
tape toi des dizaines de bugs
be crazy
trouve la solution après deux dolipranes
soit fièr de toi
trouve un bug qui, finalement, est peut-être pratique sans le vouloir utile
attend la prochaine idée
ai peur de ce qu'il te reste à faire
...
..
.
I <3 logique, le programme est mon arme