Après avoir créé notre formulaire d'inscription il nous faut créer un formulaire de connexion afin que nos futurs utilisateurs puissent se connecter au site une fois inscrit.

Pour cela, il faut créer un nouveau formulaire avec une méthode "POST" afin de traiter les informations sur la page en cours.


Page connexion.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;

        if (isset($_POST['connexion'])){
            $mail = htmlentities(strtolower(trim($mail)));
            $mdp = trim($mdp);

            if(empty($mail)){ // Vérification qu'il y est bien un mail de renseigné
                $valid = false;
                $er_mail = "Il faut mettre un mail";
            }

            if(empty($mdp)){ // Vérification qu'il y est bien un mot de passe de renseigné
                $valid = false;
                $er_mdp = "Il faut mettre un mot de passe";
            }

            // On fait une requête pour savoir si le couple mail / mot de passe existe bien car le mail est unique !
            $req = $DB->query("SELECT * 
                FROM utilisateur 
                WHERE mail = ? AND mdp = ?",
                array($mail, crypt($mdp, "$6$rounds=5000$macleapersonnaliseretagardersecret$")));
            $req = $req->fetch();

            // Si on a pas de résultat alors c'est qu'il n'y a pas d'utilisateur correspondant au couple mail / mot de passe
            if ($req['id'] == ""){
                $valid = false;
                $er_mail = "Le mail ou le mot de passe est incorrecte";
            }

            // Si le token n'est pas vide alors on ne l'autorise pas à accéder au site
            if($req['token'] <> NULL){
            	$valid = false;
                $er_mail = "Le compte n'a pas été validé";	
            }

            // S'il y a un résultat alors on va charger la SESSION de l'utilisateur en utilisateur les variables $_SESSION
            if ($valid){
                $_SESSION['id'] = $req['id']; // id de l'utilisateur unique pour les requêtes futures
                $_SESSION['nom'] = $req['nom'];
                $_SESSION['prenom'] = $req['prenom'];
                $_SESSION['mail'] = $req['mail'];

                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>Connexion</title>
    </head>
    <body>      
        <div>Se connecter</div>
        <form method="post">
            <?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>
            <button type="submit" name="connexion">Se connecter</button>
        </form>
    </body>
</html>
+99999
Modifié le 29 octobre 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
1 245 vues
Utilisation des éléments de division <div> et <span> pour structurer le contenu
Utilisation des éléments de division <div> et <span> pour structurer le contenuLes balises <div> et <span> sont des éléments de division utilisés pour structurer et...
HTML
18 388 vues
Se connecter à une base de données en PHP
La première étape avant de se lancer dans la conception de son site et de créer une connexion directe avec sa base de données si vous avez besoin de stocker des données par la suite.Nous allons...
Créer son site
1 568 vues
Flexbox : créer des mises en page flexibles et responsives
Flexbox : Créer des Mises en Page Flexibles et ResponsivesFlexbox est une méthode de disposition en CSS qui permet de créer des mises en page flexibles et responsives. Il offre un contrôle...
CSS
871 vues
Modification du contenu et des styles
Modification du Contenu et des Styles des Éléments HTML en JavaScriptLa modification du contenu et des styles des éléments HTML est une tâche courante en développement web. Cela permet de...
JS
1 012 vues
Boucles (for, while, do-while, foreach)
Les boucles en PHP permettent d'exécuter un bloc de code plusieurs fois, en fonction d'une condition spécifiée. Les principales boucles en PHP sont for, while, do-while et foreach. Voici un cours...
PHP
4 886 vues
Les paragraphes <p> et les sauts de ligne <br>
Les paragraphes <p> et les sauts de ligne <br>Les balises <p> et <br> sont utilisées pour contrôler la mise en forme du texte dans une page HTML. Elles permettent de...
HTML
4 732 vues
Ajouter des commentaires
Poster des commentaires sur vos articlesNous allons reprendre la page voir_article.php afin d'ajouter un formulaire qui permettra d'écrire un commentaire pour participer à...
Créer son site
1 474 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
Publicité
Cette pub permet au site de vivre ...