J'ai crée un code php pour un espace membre sauf qui ne marche pas !
Résolu
ScreamFR
Messages postés
73
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
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 :
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 :
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 :
A voir également:
- J'ai crée un code php pour un espace membre sauf qui ne marche pas !
- Code ascii - Guide
- Espace insécable - Guide
- Créer un lien pour partager des photos - Guide
- Cree un compte google - Guide
- Comment créer un groupe whatsapp - Guide
3 réponses
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
A savoir que tu doit avoir utilisé un passwsord_hash pour encodé ton mot de passe en bdd... c'est bien le cas ??
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 ??
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 !
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 !
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 !
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 .
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...