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