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

  FORUM HardWare.fr
  Programmation
  PHP

  Variable de Session prend Valeur du Get [Resolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Variable de Session prend Valeur du Get [Resolu]

n°1948007
witi
Posté le 07-12-2009 à 16:04:44  profilanswer
 

Bonjour à toutes et à tous ceux qui passeront par là.
 
Je me trouve actuellement confronté au phénomène suivant.
 
Ce que j'aimerais :  
 - Créer ma Session  
 - Y charger les valeurs issue de ma BDD
 - et trimbaler ces valeurs sur toutes la pages (ils s'agit des données issues d'une table 'users')
 
Ce qui se passe :  
 - Je créer ma session sans soucis et j'y charge les valeurs que je veux.
 - Mais sur les pages auquelles je transmets une variable de type INT en GET, ma variable $_SESSION["id"] prend la valeur de ce GET sans que je ne lui demande rien.
 
Je ne sais pas si c'est bien clair, je fais suivre la page fiche.php (celle sur laquelle j'arrive et qui fait que $_SESSION["id"] change de valeur).  

Code :
  1. <?php
  2. session_start(); // Aucun espace avant, j'ai vérifié.
  3. include("connexion.php" );
  4. include("fct.php" );
  5. // Si je fais ici un affichage de la variable de SESSION, elle a déja changée, AVANT que je récupère le GET o.O
  6. $id = $_GET["u"];
  7. connexion();
  8. $res = mysql_query("SELECT * FROM users WHERE id = $id" );
  9. @mysql_close();
  10. $enrUser = mysql_fetch_object($res);
  11. // La suite importe peu puisque je ne fais qu'utiliser ma variable $_SESSION["id"] qui est déja "défectueuse"
  12. ?>


 
Si quelqu'un voit une solution, je l'en remercie.
 
PS : je suis désolé si cette question a déja été traitée, je m'en excuse d'avance, mais j'ai déja parcouru le fofo sans trouver la réponse :s


Message édité par witi le 08-12-2009 à 11:44:43
mood
Publicité
Posté le 07-12-2009 à 16:04:44  profilanswer
 

n°1948019
Fred999
Rabat-joie
Posté le 07-12-2009 à 16:18:43  profilanswer
 

Salut,
 
Par pur hasard, ça ne se passerait pas dans les fichiers connexion.php ou fct.php ? Je suppose que tu as déjà été voir de ce côté, mais sait-on jamais.

n°1948021
stealth35
Posté le 07-12-2009 à 16:19:43  profilanswer
 

c'est un paramètre de php ca, ca se regle avec ini_set, ou un htaccess
faut que je retrouve le nom

n°1948022
stealth35
Posté le 07-12-2009 à 16:22:13  profilanswer
 

voila

 

http://fr2.php.net/manual/fr/sessi [...] -trans-sid

 

ducoup htaccess :
php_value session.use-trans-sid 0

 


ou dans le php:
ini_set('session.use-trans-sid', 0)


Message édité par stealth35 le 07-12-2009 à 16:22:27
n°1948025
witi
Posté le 07-12-2009 à 16:23:53  profilanswer
 

salut salut, et merki de jeter un coup d'oeil au topic.
 
@Fred999 :  
 
Mon fichier connexion.php ne contient que ma fonction pour me connecter à la base, je l'utilise depuis des années sans qu'il ne m'ai jamais posé soucis, quant à fct.php, il regroupe mes fonctions que je n'appelle pas ici donc je doute qu'il soit à mettre en cause :)
 
@stealth35
 
Oui effectivement, le comportement me fais penser plutot à la configuration apache puisque c'est sur TOUTES les pages auxquelles j'envoie un INT par la méthode GET.
 
suspens...

n°1948028
witi
Posté le 07-12-2009 à 16:26:52  profilanswer
 

Alors je viens de tester dans avec le ini_set()
 
Mais pas de changement, mon $_SESSION["id"] continue de prendre la valeur du paramètre transmis en GET :s

n°1948031
stealth35
Posté le 07-12-2009 à 16:33:11  profilanswer
 

le mieux serai de mettre les valeur dans une autre list
 
$_SESSION['user'] = mysql_fetch_object($res);
 
regarde du coté de session_name()  aussi

n°1948035
witi
Posté le 07-12-2009 à 16:39:35  profilanswer
 

Citation :

le mieux serai de mettre les valeur dans une autre list  
 
$_SESSION['user'] = mysql_fetch_object($res);


 
Erf, ça me fais faire beaucoup de modif ça :'(
 
Le point que je n'ai pas précisé, c'est que le tout fonctionne en local (php 5.2.0) mais pas en ligne (php 4.4.9)
 
Et je regarde du coté des session_name() ;)

n°1948059
witi
Posté le 07-12-2009 à 17:16:04  profilanswer
 

Effectivement, je vient de faire un phpinfo sur la configuration locale, et celle en ligne. Je trouve ça :
 
En ligne :  

Code :
  1. session.use_trans_sid On On


 
En local :

Code :
  1. session.use_trans_sid 0 0


 
Mais comme je l'ai dit plus haut, le ini_set('session.use-trans-sid', 0) n'a rien donné ...

n°1948311
witi
Posté le 08-12-2009 à 11:44:20  profilanswer
 

Problème résolu, mais question en suspent.
 
j'ai remplacé mes variables $_SESSION["id"], par $_SESSION["iduser"];
 
Et la, la variable de Session garde la valeur que je lui ai attribué peut importe la page ou je vais.
 
Incompréhensible pour moi ... si quelqu'un à une explication :s
 
En tout cas merci à fred999 et stealth35 de s'être penché sur le problème.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Variable de Session prend Valeur du Get [Resolu]

 

Sujets relatifs
[résolu] "\" à la fin d'une chaine de caractères[oracle] rechercher une valeur dans toute les tables?
[resolu] Trier une listbox qui affiche le contenu d'un répertoire. ?[Résolu - PHP] Incrémenter une variable par autre chose que +1
[Résolu] [Jquery] ui droppable limiter nombre de drop[RESOLU] Carré à la place des accents
problème firefox/CSS [RESOLU][Résolu] remplacer un mot réccurant
Plus de sujets relatifs à : Variable de Session prend Valeur du Get [Resolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR