Comment récupérer une valeur dans une table de BDD

devdeb22 Messages postés 31 Statut Membre -  
jordane45 Messages postés 40050 Statut Modérateur -
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.


3 réponses

devdeb22 Messages postés 31 Statut Membre 1
 
Voici un bout de mon code

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() ?
0
yg_be Messages postés 24281 Statut Contributeur 1 584
 
bonjour, il me semble que tu ne nous montres qu'une partie de ton code, et que tu n'expliques pas ce que fait le reste..
0
devdeb22 Messages postés 31 Statut Membre 1
 
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é.
0
yg_be Messages postés 24281 Statut Contributeur 1 584
 
comment l'utilisateur est-il connu?
0
devdeb22 Messages postés 31 Statut Membre 1
 
Justement c'est ce que je cherche à savoir.

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 ?
0
yg_be Messages postés 24281 Statut Contributeur 1 584 > devdeb22 Messages postés 31 Statut Membre
 
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.
0
jordane45 Messages postés 40050 Statut Modérateur 4 758
 
0