Ça n’est pas un problème avec Phpmyadmin mais avec ton code.
En faite tu exécutes ta requête avant même de vérifier si les deux mots de passe sont identiques, dans ce cas là ça ne redirigera pas l’utilisateur vers une autre page mais l’insertion en BDD se fera bien.
Concrètement, à la ligne 20, tu vérifies...je ne sais pas quoi, je pense qu'il manque un isset() ou un !empty() mais là ça n'a aucun sens.
Bref, avant de faire ton insertion en BDD (ligne 21), tu vérifies que les deux mots de passe correspondent, tout simplement, car là tu ne vérifies rien
Le problème c'est que placé ici ça ne sert à rien, il n'empêche pas sa requête de s'exécuter si les deux MDP sont différents, c'est ce que je lui expliquais
Tu vérifies que les variables ne sont pas vides, dans ce cas là tu fais une condition, et dans cette condition tu fais ta vérification des MDP, en gros tu imbriques ta condition dans une autre.
Tu as des tas de code sur internet comme le tien, et enormement sur ce forum, il faut juste que tu comprennes la logique qu’il y a derrière.
Pour te résumer ça, d’abord tu vérifies que le mot de passe et le pseudo ne sont pas vides, une fois cette vérification faite, tu rentres dans une condition, dans cette condition tu verifies que les deux MDP correspondent, et si c’est bon, dans cette condition tu fais ta requête d’insertion dans la BDD.
J’espere que c’est clair pour toi, je veux bien te donner un exemple de code que tu pourrais adapter mais sur telephone j’ai pas accès aux balises de code.
Mais ça donnerait ça:
if (!empty($pass) && !empty($pseudo)){
if ($pass == $pass2){
$sql = « INSERT INTO table etc... »
....
}
else{
.... }
}
PS : aux lignes 16 à 18, utilise htmlspecialchars pour éviter aux petits malins de faire n’importe quoi
PS : aux lignes 16 à 18, utilise htmlspecialchars pour éviter aux petits malins de faire n’importe quoi
Attends, je selle mon cheval et je mets mon armure, je (re-)pars à la bataille.
PAS DE htmlspecialchars() NI htmlentities() SUR DES DONNÉES QU'ON ENVOIE EN BASE
Ces deux fonctions ne sont absolument pas prévues pour sécuriser des données dans ce contexte. Plus d'informations ici et là.
Donc laissez les lignes 16 à 18 comme elles sont.
eh bah comme quoi, on en apprends tous les jours. Donc si je résume grossièrement, on laisse l’utilisateur rentrer ce qu’il veut dans les champs du formulaire, et ensuite on securise tout ça avec htmlspecialchars() ou htmlentities() parce qu’on n’a aucune confiance en lui.
Bon bah j’ai quelques scripts à revoir moi Merci pour cette petite leçon très importante Ymox
J’etais juste bête et discipliné donc comme je l’ai vu je ne sais combien de fois dans des forums et même sur certains tutoriels vidéos, je n’ai pas cherché plus loin.
Tu devrais dans un premier temps vérifier que tes champs pseudo et pass sont bien renseigner, si c'est le cas tu vérifie ensuite que pass et mdp2 sont identique.
Si c'est bien le cas tu fais ton insertion en BDD et tu redirige vers la page souhaité comme tu l'as si joliement fait
Euh .. C'est le bordel là, non ? C'est pas ton premier sujet pour le même probleme .. Il va falloir sérieusement revoir les cours là, tout est en bordel et ma foutu ..
Tu teste $pass et $mdp2 à la ligne 4, alors que tu ne les créer qu'à la ligne 14 et 15 . Et puis niveau if else .. Voilà quoi à refaire à zero ..
$sql = "INSERT INTO `information` (pseudo, pass) VALUES (?, ?)";
Il faut que tu le mette dans :
else
{
$sql = "INSERT INTO `information` (pseudo, pass) VALUES (?, ?)"; //--> ICI par exemple ...
header('location:connect1.php');
}
probleme php my admin
× 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.
Activer les erreurs PDO / (julp) htmlspecialchars / FAQ PHP / Pas d'aide par MP