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
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
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 ! }
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
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"); }