J'ai crée un code php pour un espace membre sauf qui ne marche pas !

Signaler
Messages postés
17
Date d'inscription
lundi 30 décembre 2019
Statut
Membre
Dernière intervention
10 janvier 2020
-
Messages postés
29159
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 août 2020
-
Bonjours , voila le vous explique mon problème j'ai crée un code php pour faire un espace membre sur mon site sauf que ça ne marche pas , ce que je veut dire dans ça ne marche pas c'est que le navigateur ne me mes pas qu'il y a une erreur , néanmoins il y en a une car ça ne me redirige pas

voila mon code :


<?php
session_start();

//Affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

//connexion à la bdd
$bdd = mysqli_connect("localhost","****","****","****_bdd");

if (mysqli_connect_errno()) {
  echo "Souci de connexion à la bdd : " . mysqli_connect_error();
  exit();
}

if (isset($_POST['BtConnect'])){
    
    $UsernameConnect = !empty($_POST['UsernameConnect']) ? $_POST['UsernameConnect']: NULL;
    $PasswordConnect = !empty($_POST['PasswordConnect']) ? $_POST['PasswordConnect']: NULL;
    $sql = "SELECT * FROM users WHERE username = '$UsernameConnect' ";
    $result = mysqli_query($bdd,$sql);

    $rows=mysqli_num_rows($result);
        
    if ($rows==1){
        $data = mysqli_fetch_assoc($result);
   
        
        /* Fermeture de la connexion à la bdd */
        mysqli_close($bdd);


        
        if(password_verify($PasswordConnect, $data['password'])){ //  $data['password'] permet de lire la valeur du password de ta variable $data
            $_SESSION['username'] = $UsernameConnect;
            header('Location: ../Hub/Hub.php'); 
            exit; 
        }
    } else{
        echo "Identifiant incorrect !";
    }
}


?>
<html>
  
  <head>
    <meta charset="utf-8">
    <title>DarkWed</title>
    <link rel="stylesheet" href="css/styl.css">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.css">
  </head>
  
  <body>
      <im class="background" src="img/imgback5.jpg">
      <im class="logo" src="img/logo.png">
      <section>
      <div class="Interface">
          <p class="Title">DarkWeb</p>
          </div>
          <div class="MidInterface">
              <form method="POST" action="">
              <input name="UsernameConnect" class="TxtUsername" placeholder="Identifiants" type="text" required>
              <span class="incompletU">Champs incomplet</span>
              <input name="PasswordConnect" class="TxtPassword" placeholder="clé d'activation" type="password" required>
              <span class="incompletP">Champs incomplet</span>
              <div class="BtV">
              <input class="Bt" type="submit" value="Connexion" name="BtConnect">
              </div>
              </form>
          </div>
      </section>
  </body>

</html>



oui j'ai fait exprès d'enlever le link qui relie mon fichier php et mes 2 balise img pour bien voir les erreurs


voila ça me donne ceci , est quand je mes les mauvais identifiants le message "identifiant incorrect" apparaît mais quand ce sont les bons identifiants ça ne marche pas :

3 réponses

Messages postés
29159
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 août 2020
2 670
Bonjour

Si ça ne marque pas d'erreur et que ça ne te redirige pas.. c'est sûrement qu'il y a un souci ailleur.
Je pense qu'en ajoutant un else dans ton code on devrait le voir

if(password_verify($PasswordConnect, $data['password'])){ //  $data['password'] permet de lire la valeur du password de ta variable $data
     $_SESSION['username'] = $UsernameConnect;
      header('Location: ../Hub/Hub.php'); 
      exit; 
 }else{
   echo "Les mots de passe ne sont pas identiques ! ";

}



A savoir que tu doit avoir utilisé un passwsord_hash pour encodé ton mot de passe en bdd... c'est bien le cas ??


Messages postés
17
Date d'inscription
lundi 30 décembre 2019
Statut
Membre
Dernière intervention
10 janvier 2020
3
j'ai teste de mettre des else à tout les if sauf que il n'y a rien que ce passe et je ne sais pas ce que sais qu'un password_hash vous pouvais m'en dire plus ?

Je suis vraiment coincé !
Si jamais vous ne trouver pas le problème auriez-vous un code formulaire deja près a me passer ? si ça ne vous dérange pas bien sur !

Merci !
Messages postés
29159
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 août 2020
2 670
je ne sais pas ce que sais qu'un password_hash vous pouvais m'en dire plus


1 - Tu as utilisé dans ton code la fonction password_verify ... comment peux tu ne pas connaitre la fonction password_hash qui va de paire avec ??????
2 - Quand on ne connait pas une fonction.... on se sert de son moteur de recherche... tu trouveras sans mal sur la documentation officielle de php !
>
Messages postés
29159
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 août 2020

Excuse moi , je me suis mal exprimer je sais que un password_hash est une fonction qui permet que si on acces a votre base de donne les informations sont crypter , je que je voulais dire par m en dire un peu plus c'est comment faire pour ne pas les crypers car aprs j'en aurai besoin pour crée un panel administrateur qui aura acces a tout les mots de passe .
Messages postés
29159
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 août 2020
2 670
comment faire pour ne pas les crypers

crypter tu veux dire je suppose... ou plus exactement, on parle de hacher....

Quoi qu'il en soit : On ne consèrve JAMAIS les mots de passe en clair.... question évidente des sécurité.
Et si jamais tu n'as que faire de la sécurité... ben.. pour ne pas les "crypter".. il suffit... de ne pas les crypter !

A savoir que la fonction password_verify ne sert que si tu as utilisé password_hash avant.....
Suffit de réfléchir deux minutes pour s'en rendre compte...