Advertisement
Guest User

Untitled

a guest
Dec 31st, 2017
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.13 KB | None | 0 0
  1. <?php
  2. //Création d'une classe utilisatue(USER)
  3.  
  4. class USER{
  5.   private $db; // on déclare la variable db comme utilisable seuelment dans cette classe
  6.   //cette fonction nous permet de lier la bdd a la variable db
  7.   function __construct($DB_con)
  8.   {
  9.     $this->db = $DB_con;
  10.   }
  11.   // Cette fonction nous permet d'enregistrer un utilisateur dans la base de donnée
  12.   public function register($fname, $lname, $uname, $upass)
  13.   {
  14.     try { //on tente de se connecter a la bdd pour y écrire
  15.       $new_password =  password_hash($upass, PASSWORD_DEFAULT);
  16.       $stmt = $this->db->prepare("INSERT INTO comptes(USERNAME, PASSWORD) VALUES(:uname, :upass)");
  17.       $stmt->bindparam(":uname", $uname);
  18.       $stmt->bindparam(":upass", $upass);
  19.  
  20.       return $stmt;
  21.     } catch (PDOException $e) {
  22.       echo $e->getMessage(); // on écrit un message d'erreur a l'écran en cas d'erreur
  23.     }
  24.   }
  25.   public function login($uname, $upass) //fonction pour se connecter
  26.   {
  27.     try { //on se connecte encore une fois a la bdd, mais on y lit cette fois ci
  28.       $stmt = $this->db->prepare("SELECT * FROM comptes WHERE USERNAME = :uname LIMIT 1"); //on vérifie si le nom d'utilisateur est bien
  29.       //dans la bdd
  30.       $stmt->execute(array(':uname'=>$uname));
  31.       if ($stmt->rowCount() > 0) //si c'est bon, on va chercher si le mdp est le bon
  32.       {
  33.         if (password_verify($upass, $userRow['PASSWORD']));//on check le mdp, si c'est bon, on arrive sur une autre page (Autre fonction)
  34.         {
  35.           $_SESSION['user_session'] = $userRow['id'];//on lie la session utilisateur a l'id dans la bdd de l'utilisateur
  36.           return true;
  37.         }
  38.       }
  39.     } catch (PDOException $e) {
  40.       echo $e->getMessage(); //sinon on crache une erreur
  41.     }
  42.   }
  43.  
  44.   public function is_loggedin() // fonction envoyant un bool pour vérifier la présence
  45.   {
  46.     if(isset($_SESSION['user_session']));
  47.     {
  48.       return true;
  49.     }
  50.   }
  51.  
  52.   public function redirect($url)
  53.   {
  54.     header("Location : $url");
  55.   }
  56.  
  57.   public function logout()
  58.   {
  59.     session_destroy();
  60.     unset($_SESSION['user_session']);
  61.     return true;
  62.   }
  63. }
  64. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement