Résolu

Problème dans la page "connexion.php"

Bonjour quand je me connecte avec un mauvais utilisateurs ou que je m'inscris mal j'aimerais que mon texte apparaissent en dessous de mon formulaire et pas dans mon formulaire


Pareil pour ma page inscription


Merci d'avance

707 vues
29 septembre 2019 à 18:04 (Édité)
Cette pub permet au site de vivre ...

4 commentaires

Résolu avec ce code :


 <?php
 // 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 = "<span style='color:red;'>Il faut mettre un mail</span>";
            }

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

            // 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 = "<span style='color:red;'>Le mail ou le mot de passe est incorrect</span>";
            }

            // 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;
            }   
        }
    }
?>

Voici le code connexion.php :


<?php
    session_start();
    include('bd/connexionDB.php'); // Fichier PHP contenant la connexion à votre BDD
 <?php
 // 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";
            }

            // 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>
            <link rel="stylesheet" href="Test1_fichiers/default.css">
            <link rel="stylesheet" type="text/css" href="style3.css">
            

  <link href="Test1_fichiers/css.css" rel="stylesheet" type="text/css">
  <link rel="stylesheet" href="Test1_fichiers/jquery.css">
        <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>      
              <nav>
            <ul>
              <li class="menu-html"><a href="#">Accueil </a>
                <ul class="submenu">
                  <li><a href="/untitled.html">Retourner à l'accueil</a></li>
                </ul>
              </li>
              <li class="menu-video"><a href="#">Les vidéos</a>
                <ul class="submenu">
                  <li><a href="/tirage.html">Les tirages au sort</a></li>
                  <li><a href="/video.html">Les vidéos du résultat</a></li>
                  <li><a href="/autre.html">Mes autres vidéos</a></li>
                </ul>
              </li>
              <li class="menu-js"><a href="#">Arme </a>
                <ul class="submenu">
                  <li><a href="/arme.html">Guide des armes du jeu</a></li>
                </ul>
              </li>
              <li class="menu-css"><a href="#">Partie perso </a>
                <ul class="submenu">
                  <li><a href="/perso.html">Partie perso</a></li>
                  <li><a href="/abo.html">Abonné Cup</a></li>
                </ul>
              </li>
              <li class="menu-contact"><a href="#">Contact</a>
                <ul class="submenu">
                  <li><a href="/contact.html">Me contacter</a></li>
                </ul>
              </li>
              <li class="menu-video"><a href="#">Les membres</a>
                <ul class="submenu">
                  <?php
                    if(!isset($_SESSION['id'])){ // Si on ne détecte pas de session alors on verra les liens ci-dessous
                    ?>
                  <li><a href="/php/inscription.php">S'inscrire</a></li>
                  <li><a href="/php/connexion.php">Connexion</a></li>
                  <li><a href="/php/motdepasse.php">Mot de passe oublié</a></li>
                  <?php
                    }else{
                    ?>
                     <li><a href="/php/profil.php">Mon profil</a></li>
                      <li><a href="/php/deconnexion.php">Déconnexion</a></li>
                      <li><a href="/php/utilisateurs.php">Voir tous les membres</a></li><?php } ?></ul>

                    
                  </li>
                  <img src="didoub.jpg" align="right">
                </ul>
        </nav>
        <div id="content" class="container clearfix">
    <div id="main-content">

            <div class="list-posts clearfix">
                                    <div class="kp-breadcrumb">


                
                <h4 class="title-element">Connexion <a href="/php/inscription.php" class="no-account">Pas encore de compte ? Créez en un ici !</a></h4>
            </div>
    <form method="post" class="default-form">
                    <?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><br>
                <?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><br>

    <input type="hidden" name="referer" value="https://www.primfx.com/">
    <input type="submit" value="Connexion" name="connexion"><br>

</form>
<br>
            </div>
            
            
            


        </div>

    </div>
    </body>
</html>

Bonjour @Didoub74


Je pense savoir ce que tu veux faire.

Peux-tu mettre ton code afin que je vois bien si c’est ce que je pense ?

Sinon, en gros la où tu as le code qui affiche ton erreur, tu dois le déplacer en dessous de ton <form> au lieu de à l’intérieur.

Hello @Didoub74,


Peut-tu me/nous montrer le code source ? 😉

Cette pub permet au site de vivre ...