Giter Site home page Giter Site logo

espace_membre's Introduction

Création d'un espace membre en PHP et MySQL

Vous pouvez retrouver le TP original sur OpenClassrooms via ce lien

Les étapes à suivre :

1. Sur MySQL, créer une table membres avec les champs suivants :

  • id (int, primary, a_t)
  • pseudo (varchar 255)
  • pass (varchar 255)
  • email (varchar 255)
  • date_inscription (date)

2. Penser à protéger le mot de passe de chaque utilisateur : hachage

Fonction php : password_hash() --> génère un mot de passe "haché" unique pour chaque mot de passe.

3. Création de la page d'inscription :

4 champs :

  • pseudo
  • mot de passe (attention champ de type password pour cacher le mdp lors de la saisie)
  • confirmation du mot de passe
  • adresse email O Plusieurs vérifications : - Le pseudo demandé est-il disponible ? S'il est déja présent dans la BDD, il faudra alerter l'utilisateur et lui demandé de changer - Les deux mdp sont-ils identiques ? - L'adresse email est-elle valide ? (regex)

A ce stade, voici un exemple de code qui illustre les 3 premières étapes.

4. Création de la page de connexion :

Utilisation du système de session proposé par PHP

Mis en place d'un système de connexion par pseudo et mot de passe ainsi que proposition d'une connexion automatique qui évite à l'utilisateur de rentrer son pseudo et son mdp lors de la prochaine session.

  • Vérifier que le mot de passe rentré est bien celui stocké dans la base : password_verify (exemple d'utilisation)
  • Si le membre a coché connexion automatique : créer deux cookies qui stockeront respectivement :
    • Le pseudo
    • Le mot de passe haché

5. Création de la page de déconnexion

Session du membre détruite au bout d'un certain temps, ce qui aura pour effet de le déconnecter.

Il pourra ensuite se reconnecter avec ses identifiants ou alors bénéficier de la connexion automatique s'il la choisit.

La déconnexion est automatique au bout d'un certain temps (timeout) mais il faudra aussi proposer un bouton de déconnexion qui devra :

  • supprimer le conteu $_SESSION
  • mettre fin au système de sessions en appelant session_destroy()
  • supprimer les cookies de connexion automatique

espace_membre's People

Contributors

thomas-claireau avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.