Php mysql select par utilisateur session
Résolu
tony82800
Messages postés
52
Date d'inscription
Statut
Membre
Dernière intervention
-
tony82800 Messages postés 52 Date d'inscription Statut Membre Dernière intervention -
tony82800 Messages postés 52 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Php mysql select par utilisateur session
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Please select boot device - Forum Matériel & Système
- Session invalide ou obsolète - Forum Consommation & Internet
- Www.yahoomail.com ouverture de session ✓ - Forum Yahoo mail
3 réponses
Je pense qu'il y a une confusion dans tes variables
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:
$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';
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 :
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'])).'"';
?
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'])).'"';
?