Rechercher : dans
Par :

[php] Variables de sessions et maj de tables

Dernière réponse le 26 nov 2004 à 16:43:46 Ben, le 24 nov 2004 à 22:56:42 
 Signaler ce message aux modérateurs

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.

Meilleures réponses pour « [php] Variables de sessions et maj de tables » dans :
[PHP] Headers already sent by..... VoirLorsque vous utilisez une fonction PHP qui manipule les en-têtes HTTP comme par exemple: header() setcookie() session_start() Il est important d'utiliser ces fonctions avant d'avoir généré le moindre flux vers le client. A partir du moment où...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Les variables d'environnement VoirNotion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script...

1

kilian, le 24 nov 2004 à 23:54:43

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

Répondre à kilian

2

Ben, le 25 nov 2004 à 21:36:03

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

Répondre à Ben

3

kilian, le 25 nov 2004 à 21:46:33

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

Répondre à kilian

4

Ben, le 25 nov 2004 à 22:12:55

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?

Répondre à Ben

5

kilian, le 25 nov 2004 à 22:36:00

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

Répondre à kilian

6

Ben, le 25 nov 2004 à 23:04:21

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)

Répondre à Ben

7

kilian, le 26 nov 2004 à 16:36:20

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 :-)

Répondre à kilian

8

 Guillaume, le 26 nov 2004 à 16:43:46

Et pour tes sessions ...

oublie po le

session_start();


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

Répondre à Guillaume