Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function connectDb() {
- try {
- $db = new PDO("mysql:host=DB_HOST;dbname=DB_NAME", DB_USER, DB_PWD);
- // set the PDO error mode to exception
- $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- echo "Connected successfully";
- } catch(PDOException $e) {
- die("Erreur de connection: " . $e->getMessage() );
- }
- return $db;
- }
- // On définit des variables et on les mets à vide
- $name_customer_Error = $last_name_customer_Error = $email_customer_Error = $phone_number_customer_Error = $pseudo_customer_Error = $password_customer_Error = "";
- $name_customer = $last_name_customer = $email_customer = $phone_number_customer = $pseudo_customer = $password_customer = "";
- function registerCustomer(){
- function verifyInput($data) {
- $data = trim($data);
- $data = stripslashes($data);
- $data = htmlspecialchars($data);
- return $data;
- }
- function generateRandomCustomerCode($length = 10) {
- $characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
- $charactersLength = strlen($characters);
- $randomCustomerCode = '';
- for ($i = 0; $i < $length; $i++) {
- $randomCustomerCode .= $characters[rand(0, $charactersLength - 1)];
- }
- // Vérifiez si le code existe déjà dans la BDD
- $query = $db->prepare("SELECT * FROM customers WHERE code_customer = :code_customer");
- $query->execute([
- "code_customer" => $randomCustomerCode
- ]);
- // Le code existe on doit en faire un autre
- if(empty($query->fetch())) {
- return $randomCustomerCode;
- }
- generateRandomCustomerCode($length);
- }
- $db = connectDb();
- $error = false;
- if ($_SERVER["REQUEST_METHOD"] == "POST") {
- if (empty($_POST["name"])) {
- $name_customer_Error = "Un prénom est requis";
- $error = true;
- } else {
- $name_customer = verifyInput($_POST["name"]);
- if(!ctype_alpha($name_customer)) {
- $name_customer_Error = "Seules les lettres sont autorisés";
- $error = true;
- }
- }
- if (empty($_POST["last_name"])) {
- $last_name_customer_Error = "Un nom est requis";
- $error = true;
- } else {
- $last_name_customer = verifyInput($_POST["last_name"]);
- if(!ctype_alpha($last_name_customer)) {
- $last_name_customer_Error = "Seules les lettres sont autorisés";
- $error = true;
- }
- }
- if (empty($_POST["email"])) {
- $email_customer_Error = "Un email est requis";
- $error = true;
- } else {
- $email_customer = verifyInput($_POST["email"]);
- if (!filter_var($email_customer, FILTER_VALIDATE_EMAIL)) {
- $email_customer_Error = "Format d'email invalide";
- $error = true;
- }
- }
- if (empty($_POST["tel"])) {
- $phone_number_customer_Error = "Un téléphone est requis";
- $error = true;
- } else {
- $phone_number_customer = verifyInput($_POST["tel"]);
- if (!(strlen($_POST["tel"])==0 or (strlen($_POST["tel"])==10 and is_numeric($_POST["tel"])))) {
- $phone_number_customer_Error = "Format de téléphone invalide";
- $error = true;
- }
- }
- if (empty($_POST["pseudo"])) {
- $pseudo_customer_Error = "Un pseudo est requis";
- $error = true;
- } else {
- $pseudo_customer = verifyInput($_POST["pseudo"]);
- if(!ctype_alnum($pseudo_customer)) {
- $pseudo_customer_Error = "Seules les lettres et les chiffres sont autorisés";
- $error = true;
- }
- }
- if (empty($_POST["password"])) {
- $password_customer_Error = "Un mot de passe est requis";
- } else {
- $password_customer = verifyInput($_POST["password"]);
- if(!ctype_alnum($password_customer)) {
- $password_customer_Error = "Seules les lettres et les chiffres sont autorisés";
- $error = true;
- }
- if (strlen($_POST["password"])<8 or strlen($_POST["password"])>20) {
- $password_customer_Error = "Min: 8 - Max: 20";
- $error = true;
- }
- }
- }
- if(!$error) {
- // Préparation SQL et paramètres bind
- $query = $db->prepare("INSERT INTO customers (name_customer, last_name_customer, email_customer, phone_number_customer, pseudo_customer, password_customer, code_customer, inside)
- VALUES (:name_customer, :last_name_customer, :email_customer, :phone_number_customer, :pseudo_customer, :password_customer, :code_customer, :inside)");
- $query->bindParam(':name_customer', $name_customer);
- $query->bindParam(':last_name_customer', $last_name_customer);
- $query->bindParam(':email_customer', $email_customer);
- $query->bindParam(':phone_number_customer', $phone_number_customer);
- $query->bindParam(':pseudo_customer', $pseudo_customer);
- $query->bindParam(':password_customer', $password_customer);
- $query->bindParam(':code_customer', $code_customer);
- $query->bindParam(':inside', $inside);
- // Protection du mot de passe
- $password_customer = password_hash($_POST["password"], PASSWORD_DEFAULT);
- // Insertion du client
- $name_customer = $name_customer;
- $last_name_customer = $last_name_customer;
- $email_customer = $email_customer;
- $phone_number_customer = $phone_number_customer;
- $pseudo_customer = $pseudo_customer;
- $password_customer = $password_customer;
- $code_customer = $randomCustomerCode;
- $inside = "0";
- $query->execute();
- }
- }
- ?>
- <!DOCTYPE html>
- <html lang="fr">
- <head>
- <?php include 'assets/include/head.php'; ?>
- <meta name="description" content="">
- <meta name="author" content="">
- <title>Work'n Share - Espace personnel</title>
- <?php include 'assets/include/stylesheet.php'; ?>
- </head>
- <body>
- <header>
- <?php include 'assets/include/menu.php'; ?>
- </header>
- <section>
- <div class="container">
- <div class="row" style="margin-top:50px;">
- <div class="col-md-12">
- <h1 class="text-center">Votre compte Work'n Share</h1>
- </div>
- </div>
- <div class="row" style="margin-top:50px;">
- <div class="col-md-6">
- <h2 class="text-center">Se connecter</h2>
- <form id="sign-in" method="POST" action="">
- <div class="form-group">
- <label for="sign-in-pseudo">Pseudo</label>
- <input type="text" name="pseudo" class="form-control" id="sign-in-pseudo" placeholder="Pseudo" required="required">
- </div>
- <div class="form-group">
- <label for="sign-in-password">Mot de passe</label>
- <input type="password" name="password" class="form-control" id="sign-in-password" placeholder="Mot de passe" required="required">
- </div>
- <div class="form-check text-center">
- <input type="checkbox" name="remember" class="form-check-input" id="sign-in-remember">
- <label class="form-check-label" for="sign-in-remember">Se souvenir</label>
- </div>
- <div class="text-center">
- <button type="submit" name="sign-in" class="btn btn-primary btn-lg" id="btn-sign-in">Connexion</button>
- </div>
- </form>
- </div>
- <div class="col-md-6">
- <h2 class="text-center">S'inscrire</h2>
- <form id="sign-up" method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
- <div class="form-row">
- <div class="form-group col-md-6">
- <label for="sign-up-name">Prénom<span> * <?php echo $name_customer_Error;?></span></label>
- <input type="text" name="name" class="form-control" id="sign-up-name" placeholder="Prénom" required="required" value="<?php echo $name_customer;?>">
- </div>
- <div class="form-group col-md-6">
- <label for="sign-up-last-name">Nom<span> * <?php echo $last_name_customer_Error;?></span></label>
- <input type="text" name="last-name" class="form-control" id="sign-up-last-name" placeholder="Nom" required="required" value="<?php echo $last_name_customer;?>">
- </div>
- </div>
- <div class="form-row">
- <div class="form-group col-md-6">
- <label for="sign-up-email">Adresse email<span> * <?php echo $email_customer_Error;?></span></label>
- <input type="email" name="email" class="form-control" id="sign-up-email" placeholder="name@example.com" required="required" value="<?php echo $email_customer;?>">
- </div>
- <div class="form-group col-md-6">
- <label for="sign-up-tel">Téléphone<span> * <?php echo $phone_number_customer_Error;?></span></label>
- <input type="tel" name="tel" class="form-control" id="sign-up-tel" placeholder="Téléphone" required="required" value="<?php echo $phone_number_customer;?>">
- </div>
- </div>
- <div class="form-row">
- <div class="form-group col-md-6">
- <label for="sign-up-pseudo">Pseudo<span> * <?php echo $pseudo_customer_Error;?></span></label>
- <input type="text" name="pseudo" class="form-control" id="sign-up-pseudo" placeholder="Pseudo" required="required" value="<?php echo $pseudo_customer;?>">
- </div>
- <div class="form-group col-md-6">
- <label for="sign-up-password">Mot de passe<span> * <?php echo $password_customer_Error;?></span></label>
- <input type="password" name="password" class="form-control" id="sign-up-password" placeholder="Mot de passe" required="required" value="<?php echo $password_customer;?>">
- </div>
- <small id="password-help" class="form-text text-muted">
- Votre mot de passe doit comporter entre 8 et 20 caractères, contenir des lettres et des chiffres et ne doit pas contenir d'espaces, de caractères spéciaux ou d'emoji.
- </small>
- </div>
- <div class=" text-center">
- <button type="submit" name="sign-up" class="btn btn-primary btn-lg" id="btn-sign-up">Inscription</button>
- </div>
- </form>
- </div>
- </div>
- <div class="row">
- <div class="col-md-12">
- <h3 class="text-center" style="margin-top:50px;">Pourquoi nous rejoindre ?</h3>
- </div>
- </div>
- </div>
- </section>
- <?php include 'assets/include/script.php'; ?>
- <?php include 'assets/include/footer.php'; ?>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement