Comment récupérer une valeur dans une table de BDD
Fermé
devdeb22
Messages postés
28
Date d'inscription
mercredi 18 avril 2018
Statut
Membre
Dernière intervention
9 février 2020
-
1 juin 2018 à 15:04
jordane45 Messages postés 38427 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 février 2025 - 2 juin 2018 à 02:40
jordane45 Messages postés 38427 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 février 2025 - 2 juin 2018 à 02:40
Bonjour,
Je souhaite récupérer la valeur d'un champ (qui correspond à un utilisateur en cours) dans une table de base de donnée pour en suite comparer cette à une autre.
Comment je fais pour faire ça.
Je souhaite récupérer la valeur d'un champ (qui correspond à un utilisateur en cours) dans une table de base de donnée pour en suite comparer cette à une autre.
Comment je fais pour faire ça.
A voir également:
- Comment récupérer une valeur dans une table de BDD
- Table ascii - Guide
- Comment faire une table des matières sur word - Guide
- Comment recuperer un message supprimé sur whatsapp - Guide
- Récupérer une vidéo youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
3 réponses
devdeb22
Messages postés
28
Date d'inscription
mercredi 18 avril 2018
Statut
Membre
Dernière intervention
9 février 2020
1
1 juin 2018 à 15:48
1 juin 2018 à 15:48
Voici un bout de mon code
Le but c'est que une fois que l'utilisateur est logué sans qu'il ai à faire quoi ce ce soit d'autre, je puisse le garder sur la page qu'il se trouve ou que je puisse le rediriger vers une autre page s'il n'a pas dans la base de donnée les conditions pour y rester.
Pour cela j'aurai besoin de récupérer l'id de l'utilisateur connécté pour aller chercher dans la base de donnée, les données qui lui correspondent.
Qu'est-ce que je mets à WERE id ?
Et qu'est-ce que je mets à execute() ?
function logged_only2(){ if(session_status() == PHP_SESSION_NONE){ session_start(); } require_once 'inc/db.php'; $req = $pdo->prepare('SELECT * FROM users WHERE id =.......'); $req->execute(.....); $user = $req->fetch(); if ($user->subscribed =='1') { $_SESSION['auth'] = $user; $_SESSION['flash']['success'] = 'Vous êtes maintenant connecté'; header("Location: Page2.php"); exit(); } }
Le but c'est que une fois que l'utilisateur est logué sans qu'il ai à faire quoi ce ce soit d'autre, je puisse le garder sur la page qu'il se trouve ou que je puisse le rediriger vers une autre page s'il n'a pas dans la base de donnée les conditions pour y rester.
Pour cela j'aurai besoin de récupérer l'id de l'utilisateur connécté pour aller chercher dans la base de donnée, les données qui lui correspondent.
Qu'est-ce que je mets à WERE id ?
Et qu'est-ce que je mets à execute() ?
devdeb22
Messages postés
28
Date d'inscription
mercredi 18 avril 2018
Statut
Membre
Dernière intervention
9 février 2020
1
1 juin 2018 à 16:58
1 juin 2018 à 16:58
En faite c'est juste une fonction que je vais inclure dans une php.
Et chaque fois qu'un utilisateur demandera cette page.
La fonction ira vérifier dans la base de donnée si subscribed=1
SI oui alors l'utilisateur sera redirigé vers la page Page2.php
Si subscribed est différent de 1 alors, l'utilisateur ne sera pas redirigé.
Et chaque fois qu'un utilisateur demandera cette page.
La fonction ira vérifier dans la base de donnée si subscribed=1
SI oui alors l'utilisateur sera redirigé vers la page Page2.php
Si subscribed est différent de 1 alors, l'utilisateur ne sera pas redirigé.
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
1 568
1 juin 2018 à 18:14
1 juin 2018 à 18:14
comment l'utilisateur est-il connu?
devdeb22
Messages postés
28
Date d'inscription
mercredi 18 avril 2018
Statut
Membre
Dernière intervention
9 février 2020
1
1 juin 2018 à 18:59
1 juin 2018 à 18:59
Justement c'est ce que je cherche à savoir.
car je souhaite récupérer l'utilisateur par la session.
Je viens d'écrire ce bout de code là.
Comment je défini la variable $id et où est-ce que je la défini ?
car je souhaite récupérer l'utilisateur par la session.
function logged_only2(){ if(session_status() == 1){ session_start(); } require_once 'inc/db.php'; $id_user = $_SESSION['id']; $req = $pdo->prepare('SELECT * FROM users WHERE id = :id'); $req->execute(array( ':id'=> $_SESSION['id'])); $user = $req->fetch(); if ($user->subscribed =='1') { $_SESSION['auth'] = $user; $_SESSION['flash']['success'] = 'Vous êtes maintenant connecté'; header("Location: Page2.php"); exit(); } }
Je viens d'écrire ce bout de code là.
Comment je défini la variable $id et où est-ce que je la défini ?
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
1 568
>
devdeb22
Messages postés
28
Date d'inscription
mercredi 18 avril 2018
Statut
Membre
Dernière intervention
9 février 2020
1 juin 2018 à 19:28
1 juin 2018 à 19:28
il y a en général trois méthodes à prévoir:
- une page d'enregistrement d'un nouvel utilisateur (création d'un enregistrement dans la base de données)
- une page d'identification d'un utilisateur existant (vérification de l'identité er du mot de passe dans la base de données), qui mémorise (dans la variable session) l'identité de l'utilisateur
- vérification, dans toutes les pages, que l'utilisateur est bien identifié (en vérifiant la variable session, pas utile d'accéder à nouveau la base de données)
je crois deviner que tu veux faire la vérification, et j'ai l'impression que tu n'as pas encore pensé aux deux autres méthodes.
- une page d'enregistrement d'un nouvel utilisateur (création d'un enregistrement dans la base de données)
- une page d'identification d'un utilisateur existant (vérification de l'identité er du mot de passe dans la base de données), qui mémorise (dans la variable session) l'identité de l'utilisateur
- vérification, dans toutes les pages, que l'utilisateur est bien identifié (en vérifiant la variable session, pas utile d'accéder à nouveau la base de données)
je crois deviner que tu veux faire la vérification, et j'ai l'impression que tu n'as pas encore pensé aux deux autres méthodes.
jordane45
Messages postés
38427
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2025
4 734
2 juin 2018 à 02:40
2 juin 2018 à 02:40
Bonjour
Petite parenthèse au passage...
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Petite parenthèse au passage...
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
1 juin 2018 à 16:13