Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de connexion securisée php sql

obliger de se logguer 2 fois

    19 janvier 2017 à 16:22:54

    Bonjiour à tous et bonne année,

    voila , j'ai un script de connexion , mais qui me pose un problème , lorsqu'on se connecte , je suis obliger de rentrer mon login et mon pass 2 fois ...... je ne comprends pas pourquoi ? si qq un a une idée , je suis preneur ......

    voila le code :

    <?php
    /*
    Page: connexion.php
    */
    session_start(); // à mettre tout en haut du fichier .php, cette fonction propre à PHP servira à maintenir la $_SESSION
    if(isset($_POST['connexion'])) { // si le bouton "Connexion" est appuyé
        // on vérifie que le champ "Pseudo" n'est pas vide
        // empty vérifie à la fois si le champ est vide et si le champ existe belle et bien (is set)
        if(empty($_POST['login'])) {
            echo "<div class='erreur'><p>Le champ Login est vide.</p></div>";
        } else {
            // on vérifie maintenant si le champ "Mot de passe" n'est pas vide"
            if(empty($_POST['pwd'])) {
                echo "<div class='erreur'><p>Le champ Mot de passe est vide.</p></div>";
            } else {
                // les champs sont bien posté et pas vide, on sécurise les données entrées par le membre:
                $login = htmlentities($_POST['login'], ENT_QUOTES, "ISO-8859-1"); // le htmlentities() passera les guillemets en entités HTML, ce qui empêchera les injections SQL
                $pwd = htmlentities($_POST['pwd'], ENT_QUOTES, "ISO-8859-1");
                //on se connecte à la base de données:
                $mysqli = mysqli_connect("");
                //on vérifie que la connexion s'effectue correctement:
                if(!$mysqli){
                    echo "Erreur de connexion à la base de données.";
                } else {
                    // on fait maintenant la requête dans la base de données pour rechercher si ces données existe et correspondent:
                    $Requete = mysqli_query($mysqli,"SELECT * FROM admin_users WHERE admin_login = '".$login."' AND admin_pwd = '".$pwd."'");
                    // si il y a un résultat, mysqli_num_rows() nous donnera alors 1
                    // si mysqli_num_rows() retourne 0 c'est qu'il a trouvé aucun résultat
                    if(mysqli_num_rows($Requete) == 0) {
                        echo "<div class='erreur'><p>Le pseudo ou le mot de passe est incorrect, le compte n'a pas été trouvé.</p></div>";
                    } else {
                        // on ouvre la session avec $_SESSION:
                        $_SESSION['admin_login'] = $login; // la session peut être appelée différemment et son contenu aussi peut être autre chose que le pseudo
    					
                        echo "
    <script type='text/javascript'>document.location.replace('menu_admin_bering.php?page=Admin_accueil');</script>";
    exit();	
                    }
                }
            }
        }
    }
    ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Votre espace client</title>
    <link rel="stylesheet" media="screen and (max-device-width: 480px)" href="petite_resolution.css" />
    <meta name="viewport" content="width=device-width, initial-scale=1"/>
    <link rel="stylesheet" href="style.css" />
    </head>
    
    <body>
    
    <div class="login_block">
    <div class="secure">
              <h1 id="secure"><img src="images/ico_secure.png" alt="Catégorie secure" class="ico_secure" />
                    Accedez à votre espace admin</h1>
                   <? if($error == TRUE) : ?>
    
    <div id="erreur"><p align="center" style="color:red"><img src="images/attention.png" alt="Catégorie attention" class="ico_attention" /><strong><?=$errorMSG?></strong></p></div>
    
    <? endif ?> 
                    </div>
    <div id="titre_principal">
          <h2> Veuillez entrer votre login et votre mot de passe pour acceder à votre interface</h2>
    </div>
          
                    
                    
    <div class="connexion">
    
    
          <form action="menu_bering.php?page=Admin" method="post">
    
             
    
             <table>
    
                
    
                <tr>
    
                   
    
                   <td><label for="login">Nom de d'utilisateur :</label></td>
    
                   <td><input type="text" placeholder="Login" name="login" id="login"/></td>
    
                   
    
                </tr>
    
                
    
                <tr>
    
                   
    
                   <td><label for="pass">Mot de passe :</label></td>
    
                   <td><input type="password" placeholder="password" name="pwd" id="pwd"/></td>
    
                   
    
                </tr>
    
                
    
             </table>
    
             <div class="bouton">
    
             <input type="submit" name="connexion" value="Se connecter"/>
             <INPUT TYPE="reset" NAME="nom" VALUE=" Annuler ">
    </form>
          
    
              </div>
              
              </div>
              
                    </div>
    
             
    
             
    
          
    </body>
    </html>



    • Partager sur Facebook
    • Partager sur Twitter
      19 janvier 2017 à 16:33:03

      Salut, 

      Dans Admin_accueil, tu as des conditions également qui te redirigerait vers la page de connexion ?

      • Partager sur Facebook
      • Partager sur Twitter
        19 janvier 2017 à 16:38:44

        bonjour,

        oui voila la page d accueil

        <?php
            // On démarre la session (ceci est indispensable dans toutes les pages de notre section membre)
        
            session_start ();
        
        	if (!isset($_SESSION['admin_login'])) {
        
        header ('Location: menu_bering.php?page=Admin');
        
        exit();
        
        }
        
        ?>
        <!doctype html>
        <html>
        <head>
        <meta charset="utf-8">
        
        </head>
        
        <body>
        <div id="admin_bienvenue">
        <h2>Bonjour <?php echo htmlentities(trim($_SESSION['admin_login'])); ?> </h2>
        <h2>Bienvenue dans votre espace d'administration</h2>
        </div>
        
        <div id="compte_admin">
             <form action="menu_admin_bering.php?page=Compte_admin" method="post">
                   <input type="submit" id="admin" name="envoyer" value="Gestion Compte Admin">
             </form>
        </div> 
        <div id="compte_pro">
             <form action="menu_admin_bering.php?page=Compte_pro" method="post">
                   <input type="submit" id="admin" name="envoyer" value="Gestion Compte Pro">
             </form>
        </div>
        <div id="crea_fiche">
             <form action="menu_admin_bering.php?page=Gestion_fiche" method="post">
                   <input type="submit" id="admin" name="envoyer" value="Gestion Fiche Montages">
             </form>
        </div>
        <div id="modif_doc">
             <form action="menu_admin_bering.php?page=Gestion_documents" method="post">
                   <input type="submit" id="admin" name="envoyer" value="Gestion Documents">
             </form>
        </div>
        </body>
        </html>



        • Partager sur Facebook
        • Partager sur Twitter
          19 janvier 2017 à 18:15:46

          Et dans ta page de routing, as tu des conditions  particulières ?

          • Partager sur Facebook
          • Partager sur Twitter
            20 janvier 2017 à 9:38:57

            bonjour romain,

            qu'appel tu routing ? ....

            • Partager sur Facebook
            • Partager sur Twitter
              20 janvier 2017 à 10:51:12

              La page où tu gères ce genre d'URL (GET)  ?page=Admin'
              • Partager sur Facebook
              • Partager sur Twitter
                20 janvier 2017 à 10:58:37

                ok , oui en effet j'ai une page menu_admin_bering.php?page= pas de condition particulière en ce qui concerne la connexion secu .....

                voila la page en question /

                <?php
                    // On démarre la session (ceci est indispensable dans toutes les pages de notre section membre)
                
                    session_start ();
                
                	if (!isset($_SESSION['admin_login'])) {
                
                header ('Location: menu_bering.php?page=Admin');
                
                exit();
                
                }
                
                ?>
                
                <?
                include("header.php"); 
                ?>
                
                <div class="top-container">
                    
                        <div class="category-header--image">
                        <img src="http://cdn.bering.fr/media/catalog/category/bering-protect-air.jpg" width="1200" height="200" alt="Protect Air | " />
                    </div>
                </div>
                        <div class="main-container col1-layout">
                            <div class="main">
                                <div class="breadcrumbs">
                    <ul>
                                    <li class="home">
                                            <a href="http://www.bering.fr/" title="Aller à la page d'accueil">Accueil</a>
                                                        <span> > </span>
                                        </li>
                                    <li class="category717">
                                            Protect Air
                                            
                                        </li>
                                    <li class="category717">
                                            <strong>Modèle compatible</strong>
                                            <span> > </span>
                                                    </li>           
                            </ul>
                            
                </div>
                
                <div id="page_container">
                	<div id="container">
                    	<div id="block_left">
                            <div id="marque">
                            <h2>Sélectionnez votre marque :</h2>
                            
                <?php
                
                include("index_admin.php");
                
                ?>
                <div id="connected">
                <?php
                include("connected_users.php"); //A l'endroit où vous voulez la liste
                ?>
                </div>
                <div id="connected_admin_pro">
                <?php
                if ($_GET['page'] == "Modif_compte_pro")
                {
                include("view_users_pro.php");
                }
                ?> 
                
                </div>
                </div>
                
                
                
                </div>  
                       
                        <div id="block_right">
                <?php
                
                if ($_GET['page'] == "Admin_accueil")
                {
                include("bering_accueil_admin.php");
                }
                if ($_GET['page'] == "Menu_modif_fiche")
                {
                include("menu_modif_fiche.php");
                }
                if ($_GET['page'] == "Valid_modif_fiche")
                {
                include("valid_modif_fiche.php");
                }
                if ($_GET['page'] == "Menu_crea_fiche")
                {
                include("menu_crea_fiche.php");
                }
                if ($_GET['page'] == "Valid_crea_fiche")
                {
                include("valid_crea_fiche.php");
                }
                if ($_GET['page'] == "Compte_admin")
                {
                include("compte_admin.php");
                }
                if ($_GET['page'] == "Compte_pro")
                {
                include("compte_pro.php");
                }
                if ($_GET['page'] == "Modif_compte_admin")
                {
                include("modif_compte_admin.php");
                }
                if ($_GET['page'] == "Valid_modif_admin")
                {
                include("valid_modif_admin.php");
                }
                if ($_GET['page'] == "Modif_compte_pro")
                {
                include("modif_compte_pro.php");
                }
                if ($_GET['page'] == "Valid_modif_pro")
                {
                include("valid_modif_pro.php");
                }
                if ($_GET['page'] == "Menu_crea_admin")
                {
                include("menu_crea_admin.php");
                }
                if ($_GET['page'] == "Valid_crea_admin")
                {
                include("valid_crea_admin.php");
                }
                if ($_GET['page'] == "Menu_crea_pro")
                {
                include("menu_crea_pro.php");
                }
                if ($_GET['page'] == "Valid_crea_pro")
                {
                include("valid_crea_pro.php");
                }
                if ($_GET['page'] == "Gestion_fiche")
                {
                include("gestion_fiche.php");
                }
                if ($_GET['page'] == "Gestion_documents")
                {
                include("Gestion_documents.php");
                }
                if ($_GET['page'] == "Modif_document")
                {
                include("documents.php");
                }
                if ($_GET['page'] == "Modif_document_public")
                {
                include("documents_public.php");
                }
                if ($_GET['page'] == "Valid_modif_document")
                {
                include("valid_modif_document.php");
                }
                if ($_GET['page'] == "Crea_document")
                {
                include("menu_crea_document.php");
                }
                if ($_GET['page'] == "Valid_crea_document")
                {
                include("valid_crea_document.php");
                }
                ?>
                
                
                
                </div>
                </div>
                </div>
                </div>
                </div>
                <?
                include("footer.php"); 
                ?>
                 
                



                -
                Edité par laurentgrosges 20 janvier 2017 à 11:00:48

                • Partager sur Facebook
                • Partager sur Twitter
                  20 janvier 2017 à 13:38:01

                  session_start (); n'est indispensable qu'une fois
                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 janvier 2017 à 15:31:42

                    merci romain , du coup je le retire de mon fichier de connexion ? ?

                    merci de ton aide , je fais des essais et je te dis ça ...

                    je l'ai retiré de la page connexion , cela à l'air de fonctionner correctement , mais sur chrome , il me demande systématiquement de recommencer ......c'est vraiment bizarre , j'ai jamais eu se problème auparavant ....

                    -
                    Edité par laurentgrosges 20 janvier 2017 à 15:37:25

                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 janvier 2017 à 16:05:19

                      Et sur les autres navigateurs ça fonctionne correctement ?
                      Vide le cache peut être
                      • Partager sur Facebook
                      • Partager sur Twitter
                        24 janvier 2017 à 17:32:33

                        bonjour romain ,

                        bon toujours en galere , après qq test , il s'avère que si je test le module de connexion hors include , cela fonctionne .....

                        je ne sais pas quoi faire , et quelque soit le navigateur

                        • Partager sur Facebook
                        • Partager sur Twitter
                          25 janvier 2017 à 12:51:37

                          Une de ces pages ne te redirige pas vers la page de connexion ?



                          - include("index_admin.php");
                          - include("connected_users.php"); //A l'endroit où vous voulez la liste
                          -
                           - include("header.php");
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Problème de connexion securisée php sql

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown