Probleme de connection

Résolu/Fermé
Imelda24 - 24 janv. 2017 à 17:15
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 - 26 janv. 2017 à 14:40
Bonjour,


g un probleme avec ma page de connection :

 <?php

    require("connect.php");
        if(isset($_POST['username'])AND isset($_POST['Motd_passe'])){


        $username=htmlspecialchars($_POST['username']);
        $Motd_passe=htmlspecialchars($_POST['Motd_passe']);
       

       
        $requete="SELECT * FROM administrateur";
        $query=sqlsrv_query($conn,$requete);
        while($donnees=sqlsrv_fetch_array($query))
        { 
          if($donnees['username']==$username && $donnees['Motd_passe']==$Motd_passe)
          {  
            session_start();
            $_SESSION['id']=$donnees['id'];
            $_SESSION['admin']=$username;
         
           header("Location:../Base/ordinateur/production/index_o.php");
           
          }
        }
       sqlsrv_close($query);
       

}

?>
   

<!DOCTYPE html>
<html lang="en">
  <head>

<body>

                      
          <div class="right_col" role="main" >
            <form method="POST" action="">

          
			<fieldset>
           <div style="margin:20%";>
              <table >
              <tr>
              <td>Login: </td>
              <td>  <input type="text" name="username" required>
              </td>
              </tr>

              <tr>
              <td> Mot de Passe: </td>
              <td><input type="password" name="Motd_passe" required></td>
              </tr>

              <tr><td>
              <button type="submit"               Value="Connection">Connection</button>
            </div>    
            

            </td></tr>
            	
             </table>
             </fieldset>
          

            </form>
         </div>

  </body>
</html>


quand je rentre l'username et le pass je reste toujours dans la meme page la redirection n'est pas faite. toute aide est la bienvenue.

Cordialement,

Imelda
A voir également:

3 réponses

jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 648
24 janv. 2017 à 19:29
Bonjour

Des erreurs dans ton code en pagaille .... des balises HTML mal fermée ou mal placée ....
La vérification du User/password se fait DIRECTEMENT dans la BDD via un WHERE et non par un IF en PHP ....
Bref...

Essaye ceci :
<?php
// Affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display-errors','on');

//connexion à la BDD
require_once "connect.php";
  
  
//récupération PROPRE des variables
$username= !empty($_POST['username']) ? htmlspecialchars($_POST['username']) : NULL;
$Motd_passe = !empty($_POST['Motd_passe']) ? htmlspecialchars($_POST['Motd_passe']) : NULL ;

//traitement du submit
if($username && $Motd_passe){
  $requete="SELECT * 
            FROM administrateur 
            WHERE username = '$username'
              AND Motd_passe = '$Motd_passe';";
  $query=sqlsrv_query($conn,$requete);
  $donnees=sqlsrv_fetch_array($query);
  sqlsrv_close($query);
  if(!empty($donnees)){
      session_start();
      $_SESSION['id']=$donnees['id'];
      $_SESSION['admin']=$username;
   
     header("Location:../Base/ordinateur/production/index_o.php");
     exit(); //toujours mettre un Exit apres une redirection ...   
  } 
}
?>
<!DOCTYPE html>
<html lang="en">
  <head>
   <title>
    Connexion
   </title>
  </head>
 <body>               
  <div class="right_col" role="main" >
    <form method="POST" action="">   
      <fieldset>
        <div style="margin:20%";>
          <table >
           <tr>
            <td>
             Login: 
            </td>
            <td>  
             <input type="text" name="username" required>
            </td>
          </tr>
          <tr>
           <td>
            Mot de Passe: 
           </td>
           <td>
            <input type="password" name="Motd_passe" required>
           </td>
          </tr>
          <tr>
           <td>
            <button type="submit" Value="Connection">Connection</button>
           </td>
          </tr>
         </table>
        </div>    
      </fieldset>
    </form>
  </div>
 </body>
</html>


Au passage .... je suis assez étonné ..... Le password n'est pas encodé ?? (à minima en SHA1 ? )

0
Bonjour,

Désolé d'avoir pris tout ce temps pour répondre,
j'ai fait quelque petite modification dans le code et ça marche et merci j'avais complètement oublié de crypter le mot de passe.
  <?php
                  // connection à la BDD 
                 require("connect.php");

                 //récupération PROPRE des variables 
             if(isset($_POST['username'])AND isset($_POST['Motd_passe'])){
             
                   $username=htmlspecialchars($_POST['username']);
                                 $Motd_passe=sha1(htmlspecialchars($_POST['Motd_passe']));
                            
                          try{             
                          $requete="SELECT * FROM administrateur";
                          $query=sqlsrv_query($conn, $requete);
                          
                          while($donnees=sqlsrv_fetch_array($query)){ 
                            
                            if($donnees['username']===$username && $donnees['Motd_passe']===$Motd_passe){  
                              
                                session_start();
                                $_SESSION['id']=$donnees['id'];
                                $_SESSION['admin']=$username;
                               
                  header("Location: ../../ordinateur/production/index_o.php");  
                                                    
                        }
                        
                      }
                      sqlsrv_free_stmt($query);
                      
                    }catch(Exception $e){
                      die('Erreur '.$e->getMessage());
                    }
                     
                      }
                  sqlsrv_close($query);

              ?>


@Fontainard j'avais pas besoin d'un autre fichier pour le code php.
Merci pour votre aide.

Cordialement Imelda
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 648
26 janv. 2017 à 14:40
Hello
Tu penseras à mettre la discussion en Résolue stp.
0
Fontainard Messages postés 68 Date d'inscription dimanche 16 mars 2014 Statut Membre Dernière intervention 24 janvier 2017
24 janv. 2017 à 18:24
Bonjour,

Première remarque, le traitement de tes donnés, en l’occurrence ton code php doit se faire à part de ton formulaire (sur un fichier.php distinct).

Il te manques par ailleurs l'action du formulaire comme par exemple <form method="POST" action="traiter.php"> ou tu dois cibler le fichier avec lequel tu récupére les donnés avec ton php. bon courage.
-2
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 648
24 janv. 2017 à 19:11
Bonjour
1- Pas besoin de fichiet distinct
2- l'action et la methode sont bien presents dans son code.
0