Requête à une base de données erronée
Résolu
piratabord
Messages postés
163
Date d'inscription
Statut
Membre
Dernière intervention
-
piratabord Messages postés 163 Date d'inscription Statut Membre Dernière intervention -
piratabord Messages postés 163 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voici ce que je veux faire :
J'ai une page html que je ne veux afficher uniquement si $_SESSION['id'] est "isset". Pour ça, voici le code que j'ai :
Mais, en plus de ça, je veux savoir si le joueur en question a activé son compte ou pas. Si il l'a fait, on affiche la page, sinon, on le redirige vers index.php. Voici le code :
Mon problème, est que je n'ai aucune idée de comment il faut faire pour vérifier à la fois si la session est isset, et si le compte a été validé...
C'est certainement tout bête, mais si quelqu'un a une solution...
Merci d'avance pour votre aide ;)
Voici ce que je veux faire :
J'ai une page html que je ne veux afficher uniquement si $_SESSION['id'] est "isset". Pour ça, voici le code que j'ai :
if(isset($_SESSION['id']))
{
$requser = $bdd->prepare("SELECT * FROM joueurs WHERE id = ?");
$requser->execute(array($_SESSION['id']));
$user = $requser->fetch();
//on affiche la page html
}
Mais, en plus de ça, je veux savoir si le joueur en question a activé son compte ou pas. Si il l'a fait, on affiche la page, sinon, on le redirige vers index.php. Voici le code :
if(isset($_SESSION['id']))
{
$requser = $bdd->prepare("SELECT * FROM joueurs WHERE id = ?");
$requser->execute(array($_SESSION['id']));
$user = $requser->fetch();
$requete = $bdd->query("SELECT * FROM joueurs WHERE id =".$_SESSION['id']"");
while($data = $requete->fetch())
{
$etat = $data['activation'];
if($etat == 1)
{
//On affiche la page
}
else
{
header("Location: index.php");
}
}
}
Mon problème, est que je n'ai aucune idée de comment il faut faire pour vérifier à la fois si la session est isset, et si le compte a été validé...
C'est certainement tout bête, mais si quelqu'un a une solution...
Merci d'avance pour votre aide ;)
A voir également:
- Requête à une base de données erronée
- Fuite données maif - Guide
- Base de registre - Guide
- Supprimer les données de navigation - Guide
- Tnt base de données vide - Forum TNT / Satellite / Réception
- Formules mathématiques de base - Télécharger - Études & Formations
4 réponses
Bonjour,
Voici ton code corrigé et remis en forme
Cordialement,
Jordane
Voici ton code corrigé et remis en forme
//TOUJOURS récupérer PROPREMENT les variables AVANT de les utiliser
$id = isset($_SESSION['id']) ? $_SESSION['id'] : NULL;
if($id){
$sql = "SELECT * FROM joueurs WHERE id = :id ";
$datas = array(':id'=>$id);
try{
$requser = $bdd->prepare($sql);
$requser->execute($datas);
$user = $requser->fetch();
}catch (Exception $e){
//en cas d'erreur dans la requete
echo " Error ! ".$e->getMessage();
}
$etat = !empty($user) ? $user['activation'] : 0;
if($etat == 1){
//On affiche la page
} else {
header("Location: index.php");
exit(); //toujours faire un exit apres une redirection !
}
}
Cordialement,
Jordane
suggestion:
$id = isset($_SESSION['id']) ? $_SESSION['id'] : NULL;
if($id){
$sql = "SELECT * FROM joueurs WHERE id = :id ";
$datas = array(':id'=>$id);
try{
$requser = $bdd->prepare($sql);
$requser->execute($datas);
$user = $requser->fetch();
}catch (Exception $e){
//en cas d'erreur dans la requete
echo " Error ! ".$e->getMessage();
}
$etat = !empty($user) ? $user['activation'] : 0;
if($etat == 1){
//On affiche la page
} else {
header("Location: index.php");
exit(); //toujours faire un exit apres une redirection !
}
}
else {
header("Location: index.php");
exit(); //toujours faire un exit apres une redirection !
}
bonsoir, je propose:
if(isset($_SESSION['id']))
{
$requser = $bdd->prepare("SELECT * FROM joueurs WHERE id = ?");
$requser->execute(array($_SESSION['id']));
$user = $requser->fetch();
$requete = $bdd->query("SELECT * FROM joueurs WHERE id =".$_SESSION['id']"");
$data = $requete->fetch();
$etat = $data['activation'];
if($etat == 1)
{
//On affiche la page
}
else
{
header("Location: index.php");
}
}
else
{
header("Location: index.php");
}