Warning: mysqli_num_rows() expects parameter 1 to be mysqli_resu
jakbauer222
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
NHenry Messages postés 15219 Date d'inscription Statut Modérateur Dernière intervention -
NHenry Messages postés 15219 Date d'inscription Statut Modérateur Dernière intervention -
<?php session_start(); // à mettre tout en haut du fichier .php, cette fonction propre à PHP servira à maintenir la $_SESSION if(isset($_POST['enregistrer'])) { // si le bouton "Enregistrer" 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 "Le champ login ou Mot de passe est vide!"; } else { // on vérifie maintenant si le champ "Mot de passe" n'est pas vide" if(empty($_POST['motdepasse'])) { echo "Le champ Mot de passe est vide!"; } 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 $motdepasse = htmlentities($_POST['motdepasse'], ENT_QUOTES, "ISO-8859-1"); //on se connecte à la base de données: $mysqli = mysqli_connect("localhost", "root", "", "agence_transport"); //on vérifie que la connexion s'effectue correctement: if(!$mysqli){ echo "Erreur de connexion a la base de donnees!"; } 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 identification WHERE login= '".$login."' AND motdepasse= '".$motdepasse."'"); // 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 "Le login ou le mot de passe est incorrect!"; $_SESSION['pseudo'] = $login; // la session peut être appelée différemment et son contenu aussi peut être autre chose que le pseudo echo "Bienvenue!"; } } } } } ?>
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Mysqli_num_rows() expects parameter 1
- Warning zone telechargement - Accueil - Outils
- Téléchargement et streaming illégal : voici les adresses des sites pirates que les FAI vont bloquer - Accueil - Services en ligne
- Cpu fan fail warning control - Forum Matériel & Système
- Symbole warning word ✓ - Forum Word
- Quota warning free - Guide
2 réponses
jakbauer222
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
Je sais mais y'as une erreur dans le code !
Tu as tout le temps (avec n'importe quelle entrée) cette erreur ou pas ?
As-tu essayé de voir le contenu de ta requête (réelle, avec un echo dans ton code) et de l'essayer sur PHPMyAdmin ?
Si ton but est juste de savoir si il y a une ligne ou plus, un simple
if($RowData=$Requete->fetch_assoc())
suffit.
Fait attention aux injections SQL, un ' au milieu d'un des textes peut détourner ta requête.
Pense aussi à hasher (SHA512 par exemple, évite le MD5, il n’est plus reconnu comme assez fiable) les mots de passe, avoir des mdp en clair, c'est très déconseillé.
As-tu essayé de voir le contenu de ta requête (réelle, avec un echo dans ton code) et de l'essayer sur PHPMyAdmin ?
Si ton but est juste de savoir si il y a une ligne ou plus, un simple
if($RowData=$Requete->fetch_assoc())
suffit.
Fait attention aux injections SQL, un ' au milieu d'un des textes peut détourner ta requête.
Pense aussi à hasher (SHA512 par exemple, évite le MD5, il n’est plus reconnu comme assez fiable) les mots de passe, avoir des mdp en clair, c'est très déconseillé.
Saluut j'ai editer mon code et il parais que l'erreur venais du fait que le nom de motdepasse n'etais pas le mm au niveau de ma base de donnes mais ca m'affiche rien :/
Quand je met dans le formulaire mon login et mot de passe et et j'appuie sur le bouton il m'affiche pas d'erreurs mais ca ne m'affiche pas de message de bienvenue svp de l;aide
Quand je met dans le formulaire mon login et mot de passe et et j'appuie sur le bouton il m'affiche pas d'erreurs mais ca ne m'affiche pas de message de bienvenue svp de l;aide