[php] Variables de sessions et maj de tables

Fermé
Ben - 24 nov. 2004 à 22:56
 Guillaume - 26 nov. 2004 à 16:43
Bonjour à tous!!

Voilà mon problème:
Je dispose de 3 tables contenant toutes les trois un champ nommé "id".
Lorsqu' un utilisateur s'identifie, la variable "id" de la première table est assigné en tant que variable de session.
Si maintenant je veux afficher (ou mettre à jour) le contenu d'une table (autre que la première), j'utilise la clause "where" suivi de " id='".$_SESSION["id"]."' "
Je ne suis qu'un débutant en php mais je suppose que dans ce cas la variable prise en compte est celle enregistrée lors de l'identification c'est -à-dire celle de la table 1.
Ca pourrait expliquer ce message d'erreur:

Notice: Undefined variable: _SESSION in...........

Mais alors comment faire en sorte que la variable id de chacune des tables soient prise en compte en tant que variable de sessions?

En espérant m'être bien expliquer...
Merci d'avance pour vos réponses.
A voir également:

8 réponses

kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
24 nov. 2004 à 23:54
Salut,

Je suis pas sûr d'avoir compris, mais tu peux avoir:
$_SESSION["id1"]=....;
$_SESSION["id2"]=....;


Bref tu affectes chacune des trois valeurs à une variable session différente... C'est bien ça que tu voulais ou....?
0
En fait je ne pense pas que ça soit ça.
Je vais essayer de prendre un exemple pour illustrer ce que je veux:

nom table1: membres
champs: id, login, pass
nom table2: membres_carac
champs: id, nom, prénom, âge

Ceci est une base de tests
J'ai assez simplifié les tables mais en gros c'est ça
lors d'une l'identification la variable id de la tables memebres est enregistrée en tant que variable de session.
si par exemple le membre veut changer son nom et son âge (c'est sans interet je sais mais c'est uniquement des tables de test), le script d'update de la table contiendra la commande mysql (allégée):
$sql = "update membres_carac set nom='".$nom."', age='".$age."' where id='".$_SESSION["id"]."';

Ce qui me donne:
Notice: Undefined variable: _SESSION in...........

En espérant avoir été plus clair.... :)
0
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
25 nov. 2004 à 21:46
De toute évidence, selon le message d'erreur, la session n'a pas été intialisée, en tout cas la variable $_SESSION['id'] n'a pas été initialisée....
0
C'est bien ce que je pensais mais alors ds ce cas commetn faire pour initialiser les variables id présentes dans mes 2 tables en tant que variables de sessions, au moment de l'identification?
Vu qu'elles ont le même nom est-ce qu'il n'y a pas un moyen de les "transformer" en var de session toutes les 2 en même temps?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
25 nov. 2004 à 22:36
Pouh j'ai du mal à te comprendre. Tu peux me passer ta source? Les endroits concernés en tout cas, comme le moment où tu passes les valeurs dans tes variables sessions....
0
Bon en fait j'ai réussi à régler une partie du problème.
Ce que je voudrais maintenant c'est savoir comment faire pour créer une variable de session $_SESSION["id"] qui prenne en compte les vraiables "id" des 3 tables (sachant qu'elles sont identiques.

(dsl si vous ne comprenez pas bien mais c'est dur à expliquer)
0
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
26 nov. 2004 à 16:36
Ben pour les valeurs de id tu crée trois variables:
$_SESSION['id'][1]=...;
$_SESSION['id'][2]=...;
$_SESSION['id'][3].....;

Mais si elles sont identiques, je vois pas l'interêt :-)
0
Et pour tes sessions ...

oublie po le
session_start();


et si t'as une sortie d'écran avant un
ob_start();
0