|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 7 ![]() |
Bonjour,
Je suis entrain de coder un forum en php, et j'ai besoin d'aide pour définir des variables. Au fait, mon problème se trouve à l'intérieur d'une fonction fetch() sur ma bdd, où j'aimerais utiliser des éléments enregistrés pour créer des variables session. J'ai donc tout simplement nommé mes variables suivant cette logique : $enregistrements = $enr->fetch(); $a=$enr['champ']; if (!isset($_SESSION["$a"])) {$_SESSION["$a"] = "null";} J'ai fait comme ça en sachant qu'on peut faire ça avec les $_POST, (donc utiliser quelque chose comme $_POST["$a"]) je pensais qu'il en serait de même pour les $_SESSION... mais ça fait planter le script, il me fait n'importe quoi. Comment peut-on définir le nom d'une variable session en fonction d'une autre variable ? Merci d'avance pour votre aide ! Michaël |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Développeur Inscription : août 2010 Messages : 587 ![]() |
ce genre d'affectation fonctionne : de même que celle-ci : le problème vient peut etre d'ailleurs, as tu démarré la session avec session_start() tout au début de ton script ?
__________________
Développeur informatique contrarié... |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 7 ![]() |
Oui oui j'ai bien mis un session_start() tout au début !!
Alors je ne sais pas pourquoi ça ne va pas. :-( Au fait le but de ce code est de créer une page à part où se trouvent tous les messages au total, classés par forum, où chaque forum (qui correspond à un enregistrement d'une table contenant tous les forums) se présente sous forme de lien cliquable pour ouvrir ou fermer le forum en question. De cette manière, les forums qui sont ouverts le restent grâce aux variables sessions lorsqu'on en ouvre un autre. Voici donc une copie de mon script: $touslesforums = $bdd->query("SELECT * FROM forum_forums"); while($forums = $touslesforums->fetch()) { $a = $forums['nom']; $b = $forums['id']; if (isset($_GET["$b"])) {$_SESSION["$b"] = $_GET["$b"];} if (!isset($_SESSION["$b"])) {$_SESSION["$b"] = "closed";} if ($_SESSION["$b"] == "closed") { ?>message à afficher avec le lien pour ouvrir le forum<?php ;} else { ?>Tout le contenu du forum avec lien pour le fermer<?php ;} } ?> Ce qui est louche c'est qu'il ne tient compte que du $_GET, par contre quand on ouvre un forum, les autres se ferment. Vous voyez quelque chose qui vous paraît incorrect là-dedans ? Parce que je suis complètement paumé ! Merci d'avance ! |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 7 ![]() |
Hahaaaaaaaaaa c'est bon j'ai trouvé !
Au fait j'avais défini ma variable session d'après l'id des enregistrements... du coup il confondait le nom de la session et le numéro de l'enregistrement des variables dans le tableau de sessions !!! Le problème est maintenant résolu !! :-) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com