Aide sur un espace membre
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Aide sur un espace membre



  1. #1
    mimou7

    Aide sur un espace membre


    ------

    bonjours
    je veux savoir comment faire un espace membre.
    j'ai lu plusieurs articles concernant la création des pages, mais je veux savoir comment lier la pages "login' avec une de mes pages de façon le membre connecté peut voir des informations lui concernent uniquement.
    merci infiniment

    -----

  2. #2
    quentin08

    Re : Aide sur un espace membre

    Salut,

    Il faut utiliser les variables de session en php.
    Par exemple, si $_SESSION["usr_id"] contient l'identifiant unique de l'utilisateur logué, tu fais tes requêtes SQL avec cette variable en utilisant PDOStatement::bindValue (http://php.net/manual/fr/pdostatement.bindvalue.php)

    Te voyant démarrer, voici un lien vers les sessions :
    http://php.net/manual/fr/function.session-start.php

    Autre chose, les fonctions mysql_* sont obsolètes, il ne faut plus s'en servir. A la place, utiliser PDO :
    http://php.net/manual/fr/pdo.construct.php

    Bon courage
    Maximator c'est comme Actimel : ça agit à l'intérieur et ça se voit à l'extérieur

  3. #3
    mimou7

    Re : Aide sur un espace membre

    merci infiniment
    monsieur,
    est ce que vous pouvez m'orienter vers un script ou un tuto pas par pas?

  4. #4
    quentin08

    Re : Aide sur un espace membre

    Salut,

    Le tuto suivant montre comment se loguer sur une base avec PDO :
    http://php.developpez.com/faq/?page=pdo

    Pour un espace membre, dans les grandes lignes, il faut commencer par faire une page de login qui teste si l’utilisateur a donné un bon mot de passe.
    Une requête du genre :

    Code:
    select usr_id, usr_login, usr_password from users where usr_login = ?
    Le "?" va servir ici de variable à remplacer. Elle devra contenir ce que l'utilisateur a entré par le formulaire de login.
    Tu peut faire ça avec cet exemple trouvé sur php.net : http://php.net/manual/fr/pdostatement.execute.php

    Code PHP:
    <?php
    /* Exécute une requête préparée en passant un tableau de valeurs */
    $calories 150;
    $colour 'rouge';
    $sth $dbh->prepare('SELECT nom, couleur, calories
        FROM fruit
        WHERE calories < ? AND couleur = ?'
    );
    $sth->execute(array($calories$couleur));
    ?>
    A la place de $sth->execute(array($calories, $couleur)), il va falloir mettre l'entrée du formulaire.
    Quelque chose comme $sth->execute(array($_POST["login"]));

    Récupère le résultat sous forme de tableau :
    $array = $sth->fetch(PDO::FETCH_NUM);

    Si tu prends la requête que j'ai donné plus haut, $array contiendra :
    [0] => Identifiant
    [1] => Login
    [2] => Mot de passe

    Ou false si aucune ligne trouvée

    Ensuite, faire une condition comme :
    Code PHP:
    if (($array !== false) AND ($array[1] === $_POST["login"]) AND ($array[2] === sha1($_POST["password"])))
    {
    $_SESSION["usr_id"] = $array[0];

    Avec cet exemple, si l'utilisateur a entré les bonnes infos, tu as son user_id dans la variable de session $_SESSION["usr_id"]
    Et pour qu'il voie/modifie ses informations personnelles, il faut faire toutes les requêtes avec
    " where usr_id = ?"
    Et s'arranger pour que le "?" prenne la valeur $_SESSION["usr_id"], voir l'exemple plus haut

    Ne pas oublier le session_start() tout en haut du script avant tout code qui produit de l'affichage
    Tu peut aussi le mettre dans un include() (ou require(), plus sécurisé) que tu appelle en premier ainsi que tout code qui va te resservir sur d'autres pages :
    Infos de login sur la base
    Chemins vers les répertoire de l'application
    Constantes définies
    Autres

    Ça évite d'avoir les infos de login sur la base qui trainent sur chaque script (c'est comme ça qu'on fait habituellement)

    Autre chose,
    Si tu veux une méthode sécurisée pour le stockage du mot de passe, voir la méthode du grain de sel

    Les codes que j'ai donné ne sont pas complets (tests d’existence des variables, includes), c'est juste pour donner une idée

    A+
    Maximator c'est comme Actimel : ça agit à l'intérieur et ça se voit à l'extérieur

  5. A voir en vidéo sur Futura

Discussions similaires

  1. division membre a membre
    Par nasalunch dans le forum Physique
    Réponses: 4
    Dernier message: 09/11/2012, 20h51
  2. Espace complémentaire Aide
    Par invited2ad7258 dans le forum Orientation après le BAC
    Réponses: 0
    Dernier message: 20/07/2009, 20h21
  3. Un espace membre dans un siteweb?...comment?
    Par invitea15b9167 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 6
    Dernier message: 20/01/2008, 13h43
  4. TPE:aide pour l'espace
    Par invite9f0abfc4 dans le forum TPE / TIPE et autres travaux
    Réponses: 3
    Dernier message: 11/12/2006, 21h02
  5. espace membre php
    Par Brikkhe dans le forum Internet - Réseau - Sécurité générale
    Réponses: 4
    Dernier message: 14/10/2006, 16h53
Découvrez nos comparatifs produits sur l'informatique et les technologies.