[PHP] [BDD] Erreur "Undefined index"
Résolu/Fermé
A voir également:
- [PHP] [BDD] Erreur "Undefined index"
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Index telephonique france - Guide
- Index of ✓ - Forum Téléchargement
3 réponses
jordane45
Messages postés
38310
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
22 juin 2015 à 18:59
22 juin 2015 à 18:59
Bonjour,
Il semble que la variable newPseudo ne soit pas bien orthographiée ou n'existe tout simplement pas dans ton $_POST.
NB : Le htmlspecialchar .. s'utilise pour AFFICHER les données .. pas pour l'insertion en BDD.
et vu que tu utilises la PDO et les requêtes préparées, les risques d'injection SQL sont limités .. donc il n'est pas nécessaire de l'utiliser !
Il semble que la variable newPseudo ne soit pas bien orthographiée ou n'existe tout simplement pas dans ton $_POST.
//Récupération des variables AVANT de les utiliser $newpseudo = !empty($_POST['newpseudo']) ? $_POST['newpseudo'] : NULL; $userPseudo = !empty($user['pseudo'])? $user['pseudo'] : NULL; if($newpseudo && $newpseudo != $userPseudo) { $insertpseudo = $bdd->prepare("UPDATE membres SET pseudo = ? WHERE id = ?"); $insertpseudo->execute(array($newpseudo, $_SESSION['id'])); }else{ echo "<br>Erreur ! newpseudo n'existe pas ou est identique à userPseudo"; echo "<br> userPseudo : ".$userPseudo; echo "<br> newpseudo : ".$newpseudo ; }
NB : Le htmlspecialchar .. s'utilise pour AFFICHER les données .. pas pour l'insertion en BDD.
et vu que tu utilises la PDO et les requêtes préparées, les risques d'injection SQL sont limités .. donc il n'est pas nécessaire de l'utiliser !
ReBonjour jordane45 :D
Je comprend pas tout ^^ mais pour résoudre mon problème je dois faire quoi du coup ?
NB: Ce code:
je dois le mettre quelque part ?
Je comprend pas tout ^^ mais pour résoudre mon problème je dois faire quoi du coup ?
NB: Ce code:
//Récupération des variables AVANT de les utiliser $newpseudo = !empty($_POST['newpseudo']) ? $_POST['newpseudo'] : NULL; $userPseudo = !empty($user['pseudo'])? $user['pseudo'] : NULL; if($newpseudo && $newpseudo != $userPseudo) { $insertpseudo = $bdd->prepare("UPDATE membres SET pseudo = ? WHERE id = ?"); $insertpseudo->execute(array($newpseudo, $_SESSION['id'])); }else{ echo "<br>Erreur ! newpseudo n'existe pas ou est identique à userPseudo"; echo "<br> userPseudo : ".$userPseudo; echo "<br> newpseudo : ".$newpseudo ; }
je dois le mettre quelque part ?
jordane45
Messages postés
38310
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
22 juin 2015 à 19:07
22 juin 2015 à 19:07
Ben .. tu commences par tester le code que je t'ai donné et tu regardes ce que ça donne
Anonymous
>
jordane45
Messages postés
38310
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
22 juin 2015 à 19:16
22 juin 2015 à 19:16
Je l'ai tester et remplacé a la place de:
Et j'ai eu l'erreur:
if(isset($_POST['newpseudo']) AND !empty($_POST['newpseudo']) AND $_POST['newpseudo'] != $user['pseudo']); { $newpseudo = htmlspecialchars($_POST['newpseudo']); $insertpseudo = $bdd->prepare("UPDATE membres SET pseudo = ? WHERE id = ?"); $insertpseudo->execute(array($newpseudo, $_SESSION['id'])); }
Et j'ai eu l'erreur:
Erreur ! newpseudo n'existe pas ou est identique à userPseudo
userPseudo :
newpseudo :
( ! ) Notice: Undefined index: newmail in C:\wamp\www\*********\edition_profil.php on line 27
jordane45
Messages postés
38310
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
>
Anonymous
22 juin 2015 à 19:20
22 juin 2015 à 19:20
Ajoutes; au début de ton script, un
Et colle nous le résultat ici .....
A mon avis .. soit ton POST ne contient rien ... soit tes champs dans ton formulaire sont mal écris !
print_r($_POST);
Et colle nous le résultat ici .....
A mon avis .. soit ton POST ne contient rien ... soit tes champs dans ton formulaire sont mal écris !
jordane45
Messages postés
38310
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
22 juin 2015 à 19:21
22 juin 2015 à 19:21
PS :
Merci de préciser le LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
Merci de préciser le LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
Anonymous
>
jordane45
Messages postés
38310
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
23 juin 2015 à 14:16
23 juin 2015 à 14:16
Bonjour où dois-je mettre le code:
print_r($_POST);
J'ai résolu mon problème je suis désolé j'ai tout simplement mal placé le premier code que vous m'avez donner.... Je sais pas si je serais toujours dans le php si vous n'étiez pas là !!!
Merci merci !
Merci merci !
jordane45
Messages postés
38310
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
23 juin 2015 à 16:02
23 juin 2015 à 16:02
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)
Cordialement,
Jordane
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)
Cordialement,
Jordane
Anonymous
>
jordane45
Messages postés
38310
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
23 juin 2015 à 16:04
23 juin 2015 à 16:04
C'est fait :)