Et puis le test if ($datas['pass'] == $passwd) { est inutile :
il faut surtout tester avant tout que $data ne vaut pas FALSE
pas la peine de tester en PHP ce que tu testes déjà en SQL : vu que que tu as AND pass=:pass dans la requête, inutile de refaire if ($data['pass'] == $passwd) { (encore que l'interclassement peu jouer mais qui stocke des mots de passe en clair ?!?)
Enfin, bon, ça [$datas vs $data], ça devrait apparaître par une notice ...
> if (!empty($utilisateur && $passwd)) {
Encore faudrait-il savoir d'où sortent ces variables mais !empty d'une condition ? Au mieux, tu obtiens ce que tu veux de manière inutilement détournée : $utilisateur et $passwd toutes deux à valeurs non fausses ?
PS : j'oubliais, c'est toujours pareil : c'est bien beau de dire qu'un code ne fonctionne pas, mais il faudrait peut être commencer par préciser en quoi sinon on ne sait même pas ce qu'on doit chercher ...
$utilisateur = htmlspecialchars($_POST['utilisateur']);
Et dans le formulaire
<input id="icon_prefix" type="text" class="validate" name="utilisateur" required>
Ma variable $passwd
$passwd = htmlspecialchars($_POST['passwd']);
Et dans le formulaire
<input id="icon_prefix" type="password" name="passwd" class="validate" required>
Beurk, pas de htmlspecialchars là-dessus ! En plus si à l'insertion il n'y en avait pas et que le login et/ou le le mdp contient un des caractères échappés, ça ne matchera JAMAIS.
Mets des var_dump sur toutes tes variables et vérifies leur contenu.
De toute façon, tu ne fais que donner des brides de code, on n'en a pas une vue d'ensemble (le form est-il en method="POST", etc).
Pas vraiment correct. if (!empty($_POST['utilisateur']) && !empty($_POST['passwd'])) {
Bref, ça vient vraisemblablement de ta requête (erronée mais tu dis avoir activé les erreurs, ça ne matche pas/c'est tronqué à l'insertion, etc).
PS : le HTML n'est pas valide, /div devrait être après /form et pas de ; après la } d'un bloc else, quoique un else avec un bloc vide c'est inutile et qu'ici ton deuxième if aurait pu être un else if.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli