Php mysql select par utilisateur session

Résolu/Fermé
tony82800 Messages postés 52 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 8 mars 2015 - Modifié par tony82800 le 9/10/2013 à 15:17
tony82800 Messages postés 52 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 8 mars 2015 - 9 oct. 2013 à 15:51
Bonjour,


je vous explique mon probleme , voici le code :


<?php
session_start();
$id = $_SESSION['login'];
if (!isset($_SESSION['login'])) {
header ('Location: news.php');
exit();
}
?>
<?php


$base = mysql_connect ('****', '*****', '*****');
mysql_select_db ('*****', $base);


$requete=mysql_query("SELECT panier FROM membre WHERE '$id' ");


$data = mysql_fetch_array($requete);


echo ' <i>Votre panier : '.$data['panier'].'</i><br>';
echo $id;



mysql_close();
?>







<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Votre panier</title>
</head>
<body>


</body>
</html>


voila je voudrais renvoyer a l'ecran la valeur de "panier" dans la table membre

et seulement la valeur de l'utilisateur connecter.

car en mettant seulement

$requete=mysql_query("SELECT panier FROM membre ");

la valeur du panier n'affiche pas la valeur du membre connecter actuellement

donc je pence qu'il faut faire avec WHERE $_SESSION['id']; mais je ne parvient pas a le faire.

je precise ma base de données

id (auto inc),login,mdp,panier






3 réponses

Je pense qu'il y a une confusion dans tes variables
$id = $_SESSION['login'];
j'aurai plutôt mis :
$login = $_SESSION['login'];
...
... SELECT panier FROM membre WHERE login = '$login' AND id = $id; ...

mais à priori tu ne récupères pas l'id donc tu risques d'être confronter à un problème où les utilsateurs ont le même login sauf si tu gères dans ta base l'unicité de login câd deux personnes ne peuvent pas avoir le même identifiant et dans ce cas tu peux faire un simple:
SELECT panier FROM membre WHERE login = '$login';
1
tony82800 Messages postés 52 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 8 mars 2015 27
Modifié par tony82800 le 9/10/2013 à 15:45
merci pour ta réponce mais ne marche pas.

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /public_html/panier.php on line 21

Votre panier :

je met le php de ma page news :

<?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {

$base = mysql_connect ('s**t', '****', '*****');
mysql_select_db ('****', $base);

// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

mysql_free_result($req);
mysql_close();

// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu.';
}
// sinon, alors la, il y a un gros problème :)
else {
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>



peut etre avec quelque chose du genre

'SELECT panier FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"';

?
0
tony82800 Messages postés 52 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 8 mars 2015 27
Modifié par tony82800 le 9/10/2013 à 15:52
RESOLU


$login = $_SESSION['login'];

$requete=mysql_query("SELECT panier FROM membre WHERE login = '$login'");



merci bien :)
0