[RESOLU] Donnée BDD en fonction d'une variable de session.

Eléphanteau du PHP | 29 Messages

01 avr. 2014, 11:48

Bonjour,
J'aurais voulu savoir si c'était possible d'afficher une donnée d'une base de donnée en fonction de la variable de session passée sur la page.
Je voudrais afficher la donnée "credit" de ma base de donnée.
C'est peut être pas très clair vous comprendrez peut-être mieux avec mon code que voici :
<?php
session_start ();
$BDD = mysql_connect('localhost','root');
mysql_select_db('users');
$strSQL = 'SELECT credit FROM users WHERE login = $_SESSION[\'login\']';
$req = mysql_query($strSQL) or die('Erreur SQL !<br />'.$strSQL.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
// On récupère notre variable de session
if (isset($_SESSION['login'])) {

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<html>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="style.css" />
<link rel="icon" type="image/gif" href="/projet/images/icone-piscine.gif" />
<head>
<title>Espace membre</title>
</head>
<body>
Bienvenue <?php echo $_SESSION['login'].'.';?>&nbsp;<?php echo $data['credit']; ?>
</body>
</html>
<?php
}
else {
	echo 'Veuillez vous connecter pour accéder à votre compte.';
}
?>
Errare humanum est, lupus et agnus, geranium begonia, para bailar la bamba

Eléphanteau du PHP | 12 Messages

01 avr. 2014, 14:00

Bien le bonjour !

J'espère t'éclairer en te disant ceci :

En php, l'utilisation des simples côtes ( ' ) et des doubles côtes ( " ) est très différentes : les doubles côtes interprètent les variables, contrairement aux simples côtes.

Un petit code pour expliquer :

Code : Tout sélectionner

$maVariable = "test"; echo "$maVariable"; // affiche "test" echo '$maVariable' // affiche "$maVariable
Essayes donc de remplacer tes simples côtes par des doubles dans pour ta requête :

Code : Tout sélectionner

$strSQL = "SELECT credit FROM users WHERE login = $_SESSION['login']";
Ou au pire une concaténation ^^

En espérant t'avoir aidé !

Eléphanteau du PHP | 29 Messages

07 avr. 2014, 13:18

Oui merci de ta réponse mais ça ça va, je voudrais juste afficher les credits ^^.
Et puis ça me met une erreur ton code.
Errare humanum est, lupus et agnus, geranium begonia, para bailar la bamba

Mammouth du PHP | 571 Messages

07 avr. 2014, 13:55

 $strSQL = 'SELECT credit FROM users WHERE login = "'.$_SESSION['login'].'"';

//éventuellement tu peux afficher la requête avec echo pour l'exécuter dans phpmyadmin
//echo $strSQL ;

Eléphanteau du PHP | 29 Messages

07 avr. 2014, 14:15

Quand je met ça ça m'affiche le contenu de strSQL mais le texte, à savoir : SELECT credit FROM users WHERE login = "..."
Pas super.
Ce que je veux c'est afficher le contenu de credit, savoir ce que je dois mettre après le echo
Errare humanum est, lupus et agnus, geranium begonia, para bailar la bamba

Eléphanteau du PHP | 29 Messages

07 avr. 2014, 14:18

Oui c'est bon, c'était bien $data['credit']
Merci à vous
Errare humanum est, lupus et agnus, geranium begonia, para bailar la bamba