From 40d69edeb7fa569d3fc1446c4bd4c2757ea4ca9b Mon Sep 17 00:00:00 2001
From: LAMINO-HARO FERNANDO-JOEL <lamino@etu.unistra.fr>
Date: Sat, 13 May 2023 11:15:52 +0000
Subject: [PATCH] Upload New File by Lahad

---
 Database/Script_PHP/inscription.php | 82 +++++++++++++++++++++++++++++
 1 file changed, 82 insertions(+)
 create mode 100644 Database/Script_PHP/inscription.php

diff --git a/Database/Script_PHP/inscription.php b/Database/Script_PHP/inscription.php
new file mode 100644
index 000000000..942c7e45e
--- /dev/null
+++ b/Database/Script_PHP/inscription.php
@@ -0,0 +1,82 @@
+<?php
+$servername = "192.168.100.103";
+$username = "group1-1";
+$password = "Unistra2023#";
+$dbname = "bdd_ludo";
+try {
+    $connect = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
+    // set the PDO error mode to exception
+    $connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
+}
+catch(PDOException $e) {
+    echo "Connection failed: " . $e->getMessage();
+}
+
+$pseudo_exist = 0;
+$email_exist = 0;
+// la valeur de chaque input est assignée à une variable
+$pseudo = $_POST["pseudo"];
+$password = $_POST["password"];
+$hashed_password = password_hash($password, PASSWORD_DEFAULT);
+$email = trim($_POST["email"]);
+
+if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
+    echo "110";
+    return;
+}
+
+// Vérifier si le pseudo existe déjà
+$req = "SELECT * FROM Joueur WHERE pseudo= ?";
+$res = $connect->prepare($req);
+$res->execute([$pseudo]);
+$row = $res->fetch(); // On récupère le résultat
+if ($row) {
+    $pseudo_exist = 1;
+}
+if ($pseudo_exist == 1 && $email_exist == 0) {
+    // Ce Pseudo existe déjà
+    echo "10";
+    return;
+}
+
+// Fonction pour générer un code de vérification de 6 chiffres
+function generateVerificationCode() {
+    return mt_rand(100000, 999999);
+}
+
+// Vérifier si le email existe déjà
+$req = "SELECT * FROM Joueur WHERE email= ?";
+$res = $connect->prepare($req);
+$res->execute([$email]);
+$row = $res->fetch(); // On récupère le résultat
+if ($row) {
+    $email_exist = 1;
+}
+
+if ($pseudo_exist == 0 && $email_exist == 1) {
+    // Cet Email existe déjà
+    echo "111";
+    return;
+}
+
+// L'adresse e-mail est valide, générer un code de vérification et l'envoyer à l'utilisateur par e-mail
+$verificationCode = generateVerificationCode();
+$to = $email;
+$subject = "Code de vérification pour votre inscription";
+$message = "Votre code de vérification est : " . $verificationCode;
+$headers = "From: projetludo2023@outlook.fr";
+if (mail($to, $subject, $message, $headers)) {
+    // Le code de vérification a été envoyé avec succès, enregistrer l'utilisateur dans la base de données
+    $req = "INSERT INTO Joueur (pseudo, email, password, verification_code) VALUES(?, ?, ?, ?)";
+    $stmt = $connect->prepare($req);
+    $stmt->bindParam(1, $pseudo);
+    $stmt->bindParam(2, $email);
+    $stmt->bindParam(3, $hashed_password);
+    $stmt->bindParam(4, $verificationCode);
+    $stmt->execute();
+    echo "1";
+} else {
+    // Une erreur s'est produite lors de l'envoi du code de vérification, afficher un message d'erreur
+    echo "0";
+}
+?>
-- 
GitLab