rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Perte de donnée dans ma session (PHP)

Scrammy, le mercredi 7 février 2007 à 10:39:24
Bonjour,

Voilà, j'utilise des variable de session notamment pour l'authentification de l'utilisateur mais aussi pour ses donnée perso propre à mon site.
A l'authentification vers la page d'acceuil, je n'ai aucun problème pour récupérer mes variables de session, seulement lorsque que je charge une autre page de mon menu et que je reviens sur ma page d'acceuil, je me suis rendu compte qu'une de mes variable de session, qui est un tableau de string, se transformait en booléen.
Pourtant je ne modifie en rien cette variable là dans mon autre page.

Voila comment je crée mes variables à l'authentification
session_start();
...
$_SESSION['ident']= $ident ;// Tableau contenant nom, prenom, identifiant et mot de passe

$_SESSION['historique_journalier']=$histo_jours; // tableau d'historisation de ce qu'a fait l'utilisateur aujourd'hui
....


Quand j'arrive sur la page d'acceuil j'ai bien dans ma session les info.
Voila le code de ma page d'acceuil pour récupérer les données:
session_start();
...

$ident = $_SESSION['ident'];

$histo_jours = $_SESSION['historique_journalier'];

...


Puis quand je change de page ma variable 'historique_journalier' devient alors un booleen (j'ai regarder directement dans le fichier de session). Pourtant je ne récupère que $_SESSION['ident'] dans mon autre page.
Je ne touche pas à $_SESSION['historique_journalier'].

si quelqu'un à des conseils à me donner, je prends tout la :/!!!

Merci d'avance ^^ Scrammy
Configuration: Windows 2000
Internet Explorer 6.0
Répondre à Scrammy  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Scrammy, le mercredi 7 février 2007 à 15:21:43
Probleme résolut!!!!! :)

Explication (si ça peut servir à d'autre):

Il se trouve que dans ma page d'authentification, là où j'initialisais la session j'utilisais certaines variables tel que:
$_SESSION['historique_journalier'] = $historique_journalier


Ensuite, dans ma page d'acceuil, je récupérai ces variables directement pour les utiliser donc je n'avais pas de soucis.
Mais dans mon autre page (page de visualisation sur un mois de ce qu'a fait la personne) je n'utilisais que $_SESSION['ident']. Pour le reste, j'étais obliger d'aller chercher chaque jours du mois dans ma base de données MySQL. Et c'est là d'où viens le problème. Je réutilisais les même noms de variable que dans ma page d'authentification. Et cela apparemment me faisais sauter toutes les variables de session identique. (je ne sais pas si je me fais bien comprendre.

Voici l'exemple pour plus de précision:

page log_utilisateur.php:
session_start();

....// Ici c'est ma connexion à la base + formulation de la requete + envoie de la requete
$ident = mysql_fetch_array($requeteSql);

....// Ici c'est ma connexion à la base + formulation de la requete + envoie de la requete
$historique_journalier = mysql_fetch_array($requeteSql);

....// Ici c'est ma connexion à la base + formulation de la requete + envoie de la requete
$journalier = mysql_fetch_array($requeteSql);

$_SESSION['ident'] = $ident;
$_SESSION['historique_journalier '] = $historique_journalier ;
$_SESSION['journalier '] = $journalier ;

....
mysql_close();


page acceuil.php:
session_start();

$ident = $_SESSION['ident']; 
$historique_journalier  = $_SESSION['historique_journalier '];
$journalier = $_SESSION['journalier '];

echo "Bonjour ".$ident["nom"]."<br>";
echo "Vous vous etes connecter à ".$journalier["heures_conect"]."<br>;
echo "Hier vous avez deconnecter à ". $historique_journalière["heure_deconnect"];


Je vais vous montrer en gros ce que j'avais fait.
page visualisation_mois.php:
session_start();

$ident = $_SESSION['ident']; 

// ON selectionne dans la base MySql les champs corespondant à $ident['identifiant'] dans la table "historique_journalier" pour le mois dernier sauvegarder dans $historique_journalier.

$i=0;
while($historique_journalier[$i] = mysql_fetch_array($requeteSql))$i++;


for($jours=1; $jours<= date("t",mktime(0,0,0,(date("m")-1), 1, date('Y"))) // boucle du 1er au dernier jours du mois en cours
{
  echo "Le "$jours."/".(date("m")-1)."/".date("Y")." ".$ident["nom"]." s'est connecté à ".$historique_journalier[($jours-1)]["heures_conect"]." et  s'est deconnecté à ". $historique_journalier [($jours-1)]["heure_deconnect"];
}
...


De ce que j'ai compris de ce problème est donc que j'aurai dû nommer autrement ma variable $historique_journaliere, car en l'utilisant j'aurai vraisemblablement "casser" ma variable de session $_SESSION['historique_journalier'].

j'espère avoir été assez clair dans mon explication.

Si quelqu'un a une explication moins "barbare", qui le dise! ça peut etre interressant d'entendre une explication plus rationnel. Scrammy
Répondre à Scrammy

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 T0T0, le vendredi 6 juillet 2007 à 21:50:41
Moi j'ai rien compris, mais je pense avoir un problème similaire.
Pourrais-tu être plus clair ?
Répondre à T0T0
Logiciels pertinents trouvés dans les téléchargements
Télécharger WAMP Server 2.0cWAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de...Catégorie: Serveurs
Licence: Freeware/gratuit
Télécharger Restoration 2.5.14Restoration - Restoration est un outil gratuit, en anglais seulement, permettant de récupérer les données effacées, même après avoir vidé...Catégorie: Sauvegarde
Licence: Freeware/gratuit
Télécharger PHP Edit 0.6PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de...Catégorie: PHP
Licence: Freeware/gratuit
Télécharger Session Manager 0.6.2.3Session Manager - Session Manager est un outil permettant de sauver et de restaurer les états de toutes les fenêtres sous Firefox. Cette...Catégorie: Extensions Firefox
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « Perte de donnée dans ma session (PHP) »
Toutes les réponses pour « Perte de donnée dans ma session (PHP) »