Questions/Reponses
ibrahimkhalil.yi
Messages postés
4
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 -
Bonjour à tous,
j'ai un petit probleme: j'arrive pas a me connecter avec mon login et mot de passe de l'utilisateur
Apparement l'erreur se trouve sur $nb=mysqli_fetch_array
le code est là :
EDIT : Ajout des balises de code
Merci Cordialement
j'ai un petit probleme: j'arrive pas a me connecter avec mon login et mot de passe de l'utilisateur
Apparement l'erreur se trouve sur $nb=mysqli_fetch_array
le code est là :
<?php //session_start(); /*****Verification du mot de passe ****/ if(isset($_POST['mdp'])){ if($_POST['pseudo']!="" and $_POST['mdp']!=""){ $pseudo=$_POST['pseudo']; $mdp=$_POST['mdp']; $nb=mysqli_fetch_array($con->query("select count(*) as nb,type,Num from login where pseudo='$pseudo' and passe='$mdp'")); if($nb['nb']==1){ if($nb['type']=="etudiant") $_SESSION['etudiant']=$nb['Num']; else if($nb['type']=="prof") $_SESSION['prof']=$nb['Num']; else if($nb['type']=="admin") $_SESSION['admin']=$nb['Num']; } else{ ?> <SCRIPT LANGUAGE="Javascript">alert("Login ou mot de passe incorrect");</SCRIPT
EDIT : Ajout des balises de code
Merci Cordialement
A voir également:
- Questions/Reponses
- Reponses automatique outlook - Guide
- Votre compte a été désactivé. si vous avez des questions ou des interrogations, vous pouvez visiter notre page des questions/réponses ici. - Guide
- Question réponses croc-blanc - Forum Loisirs / Divertissements
- Résumer croc blanc - Forum Microsoft Edge / Internet Explorer
- Croc-Blanc ✓ - Forum Loisirs / Divertissements
2 réponses
Salut,
déjà il y a une erreur ici:
Si vous ouvrez une instruction(else) et que vous dites de fermer le programme sans fermer l'instruction ça n'ira pas.
On peut faire ce genre de choses avec un echo suivit de HTML car il ne s'agit que de chaînes de caractères, ici c'est une instruction qui n'est pas écrite correctement...curieux que vous ne voyez pas l'erreur s'afficher.
Regardez les erreurs lignes par ligne déjà , ça peut vous aider.
déjà il y a une erreur ici:
else{ ?>
Si vous ouvrez une instruction(else) et que vous dites de fermer le programme sans fermer l'instruction ça n'ira pas.
On peut faire ce genre de choses avec un echo suivit de HTML car il ne s'agit que de chaînes de caractères, ici c'est une instruction qui n'est pas écrite correctement...curieux que vous ne voyez pas l'erreur s'afficher.
Regardez les erreurs lignes par ligne déjà , ça peut vous aider.
Bonjour,
Déjà, à l'avenir, merci d'utiliser les balises de code pour poster ton code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite, commence par activer l'affichage des erreurs PHP et applique les divers conseils donnés ici
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
On remarque également que :
- Le démarrage des SESSIONS n'est pas fait (en commentaire )
- La connexion à la bdd n'est pas présent
Tu mélanges l'écriture "objet" et "procédurale" de ton mysqli..... il faut éviter !
Ta requête n'est pas correcte. Tu ne peux pas avoir.. et le "count" et le détail.
Soit tu fais deux requêtes différentes... soit tu changes ta façon de gérer ton php.
Evite de chainer les instructions
A remplacer par
On voit également que ton mot de passe n'est pas "crypté" (Hashé )... donc aucune sécurité...
Renseignes toi sur les fonctions
https://www.php.net/manual/fr/function.password-hash.php
https://www.php.net/manual/fr/function.password-verify.php
.
Déjà, à l'avenir, merci d'utiliser les balises de code pour poster ton code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite, commence par activer l'affichage des erreurs PHP et applique les divers conseils donnés ici
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
On remarque également que :
- Le démarrage des SESSIONS n'est pas fait (en commentaire )
- La connexion à la bdd n'est pas présent
Tu mélanges l'écriture "objet" et "procédurale" de ton mysqli..... il faut éviter !
Ta requête n'est pas correcte. Tu ne peux pas avoir.. et le "count" et le détail.
Soit tu fais deux requêtes différentes... soit tu changes ta façon de gérer ton php.
Evite de chainer les instructions
$nb=mysqli_fetch_array($con->query("select count(*) as nb,type,Num from login where pseudo='$pseudo' and passe='$mdp'"));
A remplacer par
$sql = "select `type`,Num from login where pseudo='$pseudo' and passe='$mdp' "; $res = $con->query($sql); if (!$res) { printf("Errormessage: %s\n", $con->error); exit; } $row = $res ->fetch_array(MYSQLI_ASSOC);
On voit également que ton mot de passe n'est pas "crypté" (Hashé )... donc aucune sécurité...
Renseignes toi sur les fonctions
https://www.php.net/manual/fr/function.password-hash.php
https://www.php.net/manual/fr/function.password-verify.php
.