inscriptionController.php
<?php include('models/ConnexionDB.php'); // Fichier PHP contenant la connexion à votre BDD // S'il y a une session alors on ne retourne plus sur cette page if (isset($_SESSION['id'])){ header('Location:?accueil.php'); exit; } // Si la variable "$_Post" contient des informations alors on les traitres if(!empty($_POST)){ extract($_POST); $valid = true; // On se place sur le bon formulaire grâce au "name" de la balise "input" if (isset($_POST['inscription'])){ $nom = htmlentities(trim($nom)); // On récupère le nom $prenom = htmlentities(trim($prenom)); // on récupère le prénom $mail = htmlentities(strtolower(trim($mail))); // On récupère le mail $mdp = trim($mdp); // On récupère le mot de passe $confmdp = trim($confmdp); // On récupère la confirmation du mot de passe // Vérification du nom if(empty($nom)){ $valid = false; $er_nom = ("Le nom d' utilisateur ne peut pas être vide"); } // Vérification du prénom if(empty($prenom)){ $valid = false; $er_prenom = ("Le prenom d' utilisateur ne peut pas être vide"); } // Vérification du mail if(empty($mail)){ $valid = false; $er_mail = "Le mail ne peut pas être vide"; // On vérifit que le mail est dans le bon format }elseif(!preg_match("/^[a-z0-9\-_.]+@[a-z]+\.[a-z]{2,3}$/i", $mail)){ $valid = false; $er_mail = "Le mail n'est pas valide"; }else{ // On vérifit que le mail est disponible $req_mail = $DB->query("SELECT mail FROM utilisateur WHERE mail = ?", array($mail)); $req_mail = $req_mail->fetch(); if ($req_mail['mail'] <> ""){ $valid = false; $er_mail = "Ce mail existe déjà"; } } // Vérification du mot de passe if(empty($mdp)) { $valid = false; $er_mdp = "Le mot de passe ne peut pas être vide"; }elseif($mdp != $confmdp){ $valid = false; $er_mdp = "La confirmation du mot de passe ne correspond pas"; } // Si toutes les conditions sont remplies alors on fait le traitement if($valid){ $mdp = crypt($mdp, "$6$rounds=5000$macleapersonnaliseretagardersecret$"); $date_creation_compte = date('Y-m-d H:i:s'); // On insert nos données dans la table utilisateur $DB->insert("INSERT INTO utilisateur (nom, prenom, mail, mdp, date_creation_compte) VALUES (?, ?, ?, ?, ?)", array($nom, $prenom, $mail, $mdp, $date_creation_compte)); header('Location:?accueil.php'); exit; } } } ?>
<?php include('models/ConnexionDB.php'); // Fichier PHP contenant la connexion à votre BDD // S'il y a une session alors on ne retourne plus sur cette page if (isset($_SESSION['id'])){ header('Location:?section=accueil'); exit; } // Si la variable "$_Post" contient des informations alors on les traitres if(!empty($_POST)){ extract($_POST); $valid = true; // On se place sur le bon formulaire grâce au "name" de la balise "input" if (isset($_POST['inscription'])){ $nom = htmlentities(trim($nom)); // On récupère le nom $prenom = htmlentities(trim($prenom)); // on récupère le prénom $mail = htmlentities(strtolower(trim($mail))); // On récupère le mail $mdp = trim($mdp); // On récupère le mot de passe $confmdp = trim($confmdp); // On récupère la confirmation du mot de passe // Vérification du nom if(empty($nom)){ $valid = false; $er_nom = ("Le nom d' utilisateur ne peut pas être vide"); } // Vérification du prénom if(empty($prenom)){ $valid = false; $er_prenom = ("Le prenom d' utilisateur ne peut pas être vide"); } // Vérification du mail if(empty($mail)){ $valid = false; $er_mail = "Le mail ne peut pas être vide"; // On vérifit que le mail est dans le bon format }elseif(!preg_match("/^[a-z0-9\-_.]+@[a-z]+\.[a-z]{2,3}$/i", $mail)){ $valid = false; $er_mail = "Le mail n'est pas valide"; }else{ // On vérifit que le mail est disponible $req_mail = $DB->query("SELECT mail FROM utilisateur WHERE mail = ?", array($mail)); $req_mail = $req_mail->fetch(); if ($req_mail['mail'] <> ""){ $valid = false; $er_mail = "Ce mail existe déjà"; } } // Vérification du mot de passe if(empty($mdp)) { $valid = false; $er_mdp = "Le mot de passe ne peut pas être vide"; }elseif($mdp != $confmdp){ $valid = false; $er_mdp = "La confirmation du mot de passe ne correspond pas"; } // Si toutes les conditions sont remplies alors on fait le traitement if($valid){ $mdp = crypt($mdp, "$6$rounds=5000$macleapersonnaliseretagardersecret$"); $date_creation_compte = date('Y-m-d H:i:s'); // On insert nos données dans la table utilisateur $DB->insert("INSERT INTO utilisateur (nom, prenom, mail, mdp, date_creation_compte) VALUES (?, ?, ?, ?, ?)", array($nom, $prenom, $mail, $mdp, $date_creation_compte)); header('Location:?section=accueil'); exit; } } include("views/page/connexion.php"); } ?>
inscriptionController.php
<?php include('models/ConnexionDB.php'); // Fichier PHP contenant la connexion à votre BDD // S'il y a une session alors on ne retourne plus sur cette page if (isset($_SESSION['id'])){ header('Location:?section=accueil'); exit; } // Si la variable "$_Post" contient des informations alors on les traitres if(!empty($_POST)){ extract($_POST); $valid = true; // On se place sur le bon formulaire grâce au "name" de la balise "input" if (isset($_POST['inscription'])){ $nom = htmlentities(trim($nom)); // On récupère le nom $prenom = htmlentities(trim($prenom)); // on récupère le prénom $mail = htmlentities(strtolower(trim($mail))); // On récupère le mail $mdp = trim($mdp); // On récupère le mot de passe $confmdp = trim($confmdp); // On récupère la confirmation du mot de passe // Vérification du nom if(empty($nom)){ $valid = false; $er_nom = ("Le nom d' utilisateur ne peut pas être vide"); } // Vérification du prénom if(empty($prenom)){ $valid = false; $er_prenom = ("Le prenom d' utilisateur ne peut pas être vide"); } // Vérification du mail if(empty($mail)){ $valid = false; $er_mail = "Le mail ne peut pas être vide"; // On vérifit que le mail est dans le bon format }elseif(!preg_match("/^[a-z0-9\-_.]+@[a-z]+\.[a-z]{2,3}$/i", $mail)){ $valid = false; $er_mail = "Le mail n'est pas valide"; }else{ // On vérifit que le mail est disponible $req_mail = $DB->query("SELECT mail FROM utilisateur WHERE mail = ?", array($mail)); $req_mail = $req_mail->fetch(); if ($req_mail['mail'] <> ""){ $valid = false; $er_mail = "Ce mail existe déjà"; } } // Vérification du mot de passe if(empty($mdp)) { $valid = false; $er_mdp = "Le mot de passe ne peut pas être vide"; }elseif($mdp != $confmdp){ $valid = false; $er_mdp = "La confirmation du mot de passe ne correspond pas"; } // Si toutes les conditions sont remplies alors on fait le traitement if($valid){ $mdp = crypt($mdp, "$6$rounds=5000$macleapersonnaliseretagardersecret$"); $date_creation_compte = date('Y-m-d H:i:s'); // On insert nos données dans la table utilisateur $DB->insert("INSERT INTO utilisateur (nom, prenom, mail, mdp, date_creation_compte) VALUES (?, ?, ?, ?, ?)", array($nom, $prenom, $mail, $mdp, $date_creation_compte)); header('Location:?section=accueil'); exit; } } include("views/page/connexion.php"); } ?>
connexion a base de donnée
<?php // Déclaration d'une nouvelle classe class ConnexionDB { private $host = 'localhost'; // nom de l'host private $name = 'projet'; // nom de la base de donnée private $user = 'root'; private $pass = ''; // mot de passe (il faudra peut-être mettre '' sous Windows) //private $pass = ''; // Ne rien mettre si on est sous windows private $connexion; function __construct($host = null, $name = null, $user = null, $pass = null){ if($host != null){ $this->host = $host; $this->name = $name; $this->user = $user; $this->pass = $pass; } try{ $this->connexion = new PDO('mysql:host=' . $this->host . ';dbname=' . $this->name, $this->user, $this->pass, array(PDO::MYSQL_ATTR_INIT_COMMAND =>'SET NAMES UTF8', PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING)); }catch (PDOException $e){ echo 'Erreur : Impossible de se connecter à la BDD !'; die(); } } //L'utilité de la fonction query va vous permettre de gagner un gain de vitesse lorsque vous allez écrire une requête SQLafin d'interroger votre serveur. //La fonction query est à utiliser de préférence avec la requête SELECT. public function query($sql, $data = array()){ $req = $this->connexion->prepare($sql); $req->execute($data); return $req; } //Ci-dessous je vous montre comment utiliser cette fonction de plusieurs façon. // Première méthode //$req = $DB->query("SELECT * FROM nom_table"); //$req = $req->fetch(); // Deuxième méthode //$req = $DB->query("SELECT * FROM nom_table WHERE id = ?", //array(1)); //$req = $req->fetch(); // Troisième méthode // $req = $DB->query("SELECT * FROM nom_table WHERE id = :id", // array('id' => 1)); // $req = $req->fetch(); //La fonction insert est à utiliser de préférence avec les requêtes INSERT, UPDATE et DELETE. public function insert($sql, $data = array()){ $req = $this->connexion->prepare($sql); $req->execute($data); } //Ci-dessous je vous montre comment utiliser cette fonction de plusieurs façon. // <?php// Première méthode avec INSERT // $DB->insert("INSERT INTO nom_table (prenom, nom, age) VALUES (?, ?, ?)", // array("jean", "dupont", 20)); // // Deuxième méthode avec UPDATE // $DB->insert("UPDATE nom_talbe SET prenom = ?, nom = ?, age = ? WHERE id = ?", // array("michel", "durant", 22, 1)); // // Troisième méthode avec DELETE // $DB->query("DELETE FROM nom_table WHERE id = ?", // array(1)); // // Faire une connexion à votre fonction } $DB = new ConnexionDB(); ?>