Variable de Session prend Valeur du Get [Resolu]

Variable de Session prend Valeur du Get [Resolu] - PHP - Programmation

Marsh Posté le 07-12-2009 à 16:04:44    

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
Reply

Marsh Posté le 07-12-2009 à 16:04:44   

Reply

Marsh Posté le 07-12-2009 à 16:18:43    

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.

Reply

Marsh Posté le 07-12-2009 à 16:19:43    

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

Reply

Marsh Posté le 07-12-2009 à 16:22:13    

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
Reply

Marsh Posté le 07-12-2009 à 16:23:53    

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...

Reply

Marsh Posté le 07-12-2009 à 16:26:52    

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

Reply

Marsh Posté le 07-12-2009 à 16:33:11    

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

Reply

Marsh Posté le 07-12-2009 à 16:39:35    

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() ;)

Reply

Marsh Posté le 07-12-2009 à 17:16:04    

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é ...

Reply

Marsh Posté le 08-12-2009 à 11:44:20    

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.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed