SHARE
TWEET

Untitled

a guest Dec 6th, 2016 83 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?
  2.  
  3. // On crée un Array d'erreurs
  4. $errors_array = Array();
  5.  
  6. // on vérifie que les variables transmises par le formulaire existent bien
  7. if ( !isset($_POST["email"]) || !isset($_POST["username"]) || !isset($_POST["password"]) || !isset($_POST["passwordconf"])){
  8.   // si au moins une n'existe pas
  9.   // on pousse un message d'erreur dans notre Array
  10.   array_push($errors_array,"Merci de bien remplir tous les champs");
  11.   $_SESSION["errors"]=$errors_array;
  12.   header('Location: inscription.php');
  13.  
  14.  
  15. } else{
  16.  
  17.   // (1). on vérifie que l'email est valide
  18.   if (!filter_var($_POST["email"], FILTER_VALIDATE_EMAIL)) {
  19.     // on pousse un message d'erreur dans notre Array
  20.     array_push($errors_array,"Votre email n'est pas valide");
  21.   }
  22.  
  23.   // (2). on vérifie que le mot de passe est égal à la confirmation
  24.   if($_POST["password"]!=$_POST["passwordconf"]){
  25.     // on pousse un message d'erreur dans notre Array
  26.     array_push($errors_array,"Votre confirmation de mot de passe n'est pas valide");
  27.   }
  28.  
  29.   // (3). on vérifie que le nom d'utilisateur n'est pas inférieur à 5 caractères.
  30.   if (strlen($_POST["username"])<6){
  31.     // on pousse un message d'erreur dans notre Array
  32.     array_push($errors_array,"Votre nom d'utilisateur doit faire plus de 5 caractères");
  33.   }
  34.  
  35.   // (4). on vérifie que le nom d'utilisateur n'est pas inférieur à 5 caractères.
  36.   if (strlen($_POST["password"])<6){
  37.     // on pousse un message d'erreur dans notre Array
  38.     array_push($errors_array,"Votre mot de passe doit faire plus de 5 caractères");
  39.   }
  40.  
  41.   if(!is_email_uniq($_POST["email"])){
  42.     array_push($errors_array,"L'email existe déjà dans notre base !");
  43.   }
  44.  
  45.  
  46.  
  47.   // Si il y a au moins une erreur
  48.   if(count($errors_array)>0){
  49.     $_SESSION["errors"]=$errors_array;
  50.     header('Location: inscription.php');
  51.   }else {
  52.     // il n'y a pas d'erreur
  53.     create_user($_POST["username"],$_POST["email"],$_POST["password"]);
  54.     $_SESSION["username"]=$_POST["username"];
  55.     header('Location: mon_compte.php');
  56.  
  57.   }
  58.  
  59.  
  60.  
  61. }
  62.  
  63.  
  64. function is_email_uniq($email){
  65.  
  66.   $servername = "localhost";
  67.   $username = "username";
  68.   $password = "password";
  69.   $dbname = "database";
  70.  
  71.   // on crée une nouvelle connexion
  72.   $conn = new mysqli($servername, $username, $password, $dbname);
  73.  
  74.   // On vérifie que la connexion est bien valide
  75.   if ($conn->connect_error) {
  76.     die("Connection failed: " . $conn->connect_error);
  77.   }
  78.  
  79.   // On prépare notre requête SQL
  80.   $stmt = $conn->prepare("SELECT * FROM user WHERE email=?");
  81.   // On lie notre requêtes avec notre paramètre email
  82.   $stmt->bind_param($email);
  83.   // on execute la requête
  84.   $stmt->execute();
  85.   // on récupère tous les résultats
  86.   $result =$stmt->fetchAll();
  87.  
  88.   if (count($result)>0){
  89.     // l'email existe
  90.     return false;
  91.   }else {
  92.     // il n'existe pas dans la base !
  93.     return true;
  94.   }
  95.  
  96. }
  97.  
  98. function create_user($username,$email,$password){
  99.   $servername = "localhost";
  100.   $username = "username";
  101.   $password = "password";
  102.   $dbname = "database";
  103.  
  104.   // on crée une nouvelle connexion
  105.   $conn = new mysqli($servername, $username, $password, $dbname);
  106.  
  107.   // On vérifie que la connexion est bien valide
  108.   if ($conn->connect_error) {
  109.     die("Connection failed: " . $conn->connect_error);
  110.   }
  111.  
  112.   // On prépare notre requête SQL
  113.   $stmt = $conn->prepare("INSERT INTO user (username, email, password) VALUES (?, ?, MD5(?))");
  114.   // On lie notre requêtes avec notre paramètre email
  115.   $stmt->bind_param($username,$email,$password);
  116.   // on execute la requête
  117.   $stmt->execute();
  118.  
  119.   return;
  120.  
  121. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top