requete sql à partir d'une variable de session

Eléphanteau du PHP | 11 Messages

24 nov. 2005, 11:55

bonjour,

impossible de recuperer et afficher les infos de ma db via une requete sql avec une variable de session ? étrange non ? voici le code épuré et simplifié :
<?php require_once('Connections/goupil.php'); ?>
<?php
$colname_Recordset1 = "1";
if (isset($_SESSION['logpseudo'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $_SESSION['logpseudo'] : addslashes($_SESSION['logpseudo']);
}
mysql_select_db($database_goupil, $goupil);
$query_Recordset1 = sprintf("SELECT pseudo FROM inscription WHERE pseudo = '%s'", $colname_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $goupil) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

session_start(); 
?>

Eléphant du PHP | 153 Messages

24 nov. 2005, 12:02

essaie ta requete avec une variable pas de session et vois
affiche ta variable apres traitement pour voir si elle correspond a ce qu'il faut

Eléphanteau du PHP | 11 Messages

24 nov. 2005, 12:30

Oui avec toute autre variable ca fonctionne tres bien ( URL, Form etc...), j'ai bien fait mes start_session(); et je vois pas pourquoi on ne peut pas récuperer un élément d'une DB depuis une variable de session que je peux par ailleurs faire echo.

ps : merci de ta réponse spontanée

ps2 : merci de trouver une solution :D

Mammouth du PHP | 1311 Messages

24 nov. 2005, 12:50

salut

fait un var_dump() et si ta variable contient des essource SQL
ce ne saurait pas etonnant, car tu ne peut pas les mettre en session

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

24 nov. 2005, 14:11

Salut, le "session_start();" c'est en début de fichier et non en fin, sinon les variables de sessions ne vont pas etre pris en compte avant :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 11 Messages

24 nov. 2005, 17:23

pas sur, la session start est depuis le début en fin avant le html, et j'arrive a faire " echo ma session " mais j'arrive pas a faire " requete sql ma session" (je simpilifie hein ) , bon mais comme je suis pas borné je vais essayé de la remettre en début de page, c'est dreamweaver qui mel la reemet en fin ( sale bête ) lol :wink:

sinon je suis tjs ouvert a d'autre suggestion, et je me demande si il n'y a pas un pb de session globale et de php version supérieur a 4.0.6 ... ????

Eléphant du PHP | 153 Messages

24 nov. 2005, 17:43

as tu affiché ta variable pour voir si elle correpsond vraiment a ce que tu attends?

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

24 nov. 2005, 17:57

La session dépond de 2 choses :
1. il faut la démarrer avant tout dialogue avec le client (un session_start avant tout echo, print ou HTML)

2. Le navigateur du client doit autoriser les cookies pour pouvoir mémoriser le SID de la session livré par le serveur.

Pour tout test, et pour s'assurer qu'un session_start a réussi consulter le dossiet \tmp de votre serveur. Si un fichier nommé par un n° aléatoire (SID) est généré suite au chargement de la page dans le navigateur, alors la session est activée. Sinon il faut vérifier les 2 règles 1 et 2 citées précédement ou vérifier les noms des variable de session dans le programme.

NB. Si le fichier de session existe dans \tmp , tu peux le lire avec un éditeur de texte pour voir s'il contient bien des variables de session.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphanteau du PHP | 11 Messages

25 nov. 2005, 11:20

Affaire résolu, vous aviez raison, mon session_start n'était pas tout en haut de la page ; donc méfiez-vous de dreamweaver, car lorque vous faite une requete , le code se place avant le session_start.

Merci à tous, bonne journée, bon PHP

:D