Pour débuter notre site nous allons créer un formulaire d'inscription afin d'enregistrer de nouveaux utilisateurs dans une base de données (BDD).

Pour cela, il faut créer un formulaire avec une méthode "POST" qui nous renvoie les données sur la page en cours afin de les traiter et de les enregistrer.


Page inscription.php


<?php
    session_start();
    include('bd/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: index.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: index.php');
                exit;
            }
        }
    }
?>


<!DOCTYPE html>
<html lang="fr">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Inscription</title>
    </head>
    <body>      
        <div>Inscription</div>
        <form method="post">
            <?php
                // S'il y a une erreur sur le nom alors on affiche
                if (isset($er_nom)){
                ?>
                    <div><?= $er_nom ?></div>
                <?php   
                }
            ?>
            <input type="text" placeholder="Votre nom" name="nom" value="<?php if(isset($nom)){ echo $nom; }?>" required>   
            <?php
                if (isset($er_prenom)){
                ?>
                    <div><?= $er_prenom ?></div>
                <?php   
                }
            ?>
            <input type="text" placeholder="Votre prénom" name="prenom" value="<?php if(isset($prenom)){ echo $prenom; }?>" required>   
            <?php
                if (isset($er_mail)){
                ?>
                    <div><?= $er_mail ?></div>
                <?php   
                }
            ?>
            <input type="email" placeholder="Adresse mail" name="mail" value="<?php if(isset($mail)){ echo $mail; }?>" required>
            <?php
                if (isset($er_mdp)){
                ?>
                    <div><?= $er_mdp ?></div>
                <?php   
                }
            ?>
            <input type="password" placeholder="Mot de passe" name="mdp" value="<?php if(isset($mdp)){ echo $mdp; }?>" required>
            <input type="password" placeholder="Confirmer le mot de passe" name="confmdp" required>
            <button type="submit" name="inscription">Envoyer</button>
        </form>
    </body>
</html>
+99999
Modifié le 04 mars 2019
Publicité Sitedudev
Cette pub permet au site de vivre ...
Vidéo associée
Publicité Sitedudev
Cette pub permet au site de vivre ...
Télécharger le code source
Publicité
Cette pub permet au site de vivre ...
Voir d'autres articles
952 vues
Utilisation de <tr> pour les lignes, <th> pour les en-têtes et <td> pour les cellules
Utilisation de <tr> pour les lignes, <th> pour les en-têtes et <td> pour les cellulesDans un tableau HTML, la balise <tr> est utilisée pour définir chaque ligne du tableau,...
HTML
632 vues
Création de tableaux avec <table>.
Création de tableaux avec <table>La balise <table> est utilisée pour créer des tableaux dans une page HTML. Elle permet de structurer les données tabulaires en lignes et colonnes....
HTML
1 358 vues
Utilisation des attributs id et class pour identifier et styler les éléments
Utilisation des attributs id et class pour identifier et styler les élémentsLes attributs id et class sont utilisés pour identifier et styler les éléments HTML en leur attribuant des...
HTML
2 218 vues
Voir plus de messages (2/2)
Dans la suite de cette vidéo nous allons continuer notre système pour voir plus de messages. Nous allons finaliser la disparition du bouton ‘voir plus’ lorsqu’il n’y aura plus de messages...
Créer son site de rencontres
641 vues
Syntaxe des Directives
Chaque directive dans le fichier .htaccess suit une syntaxe spécifique pour fonctionner correctement. Comprendre cette syntaxe est essentiel pour utiliser efficacement les directives dans votre...
HTACCESS
2 384 vues
Comprendre la syntaxe pour insérer des données dans des colonnes spécifiques ou dans toutes les colonnes
1. Insertion de Données dans Toutes les Colonnes :Pour insérer des données dans toutes les colonnes d'une table, voici la syntaxe générale :INSERT INTO nom_de_la_table VALUES (valeur_colonne1,...
SQL
5 553 vues
Que mettre dans la balise head
Afin de continuer à faire connaitre votre site pour son référencement nous allons parler du contenu de base dans la balise <head>.La balise <head> joue un rôle essentiel...
Créer son site
4 444 vues
Créer un article
Créer un articleNous allons créer une nouvelle page que l'on nommera creer_article.php. Cette page permettra de créer un article qui sera visible sur le blog.Nous allons modifier notre...
Créer son site
Publicité
Cette pub permet au site de vivre ...