Problème avec mes GET_ ...
Fermé
Aaymeric91
Messages postés
12
Date d'inscription
vendredi 25 février 2011
Statut
Membre
Dernière intervention
26 avril 2016
-
21 oct. 2013 à 18:06
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 21 oct. 2013 à 19:42
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 21 oct. 2013 à 19:42
8 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
21 oct. 2013 à 18:32
21 oct. 2013 à 18:32
Salut,
Les paramètres GET sont accessibles via la variable $_GET et non GET.
Essaye comme ceci :
Bonne journée
Les paramètres GET sont accessibles via la variable $_GET et non GET.
Essaye comme ceci :
echo 'Pseudo: ' . $_GET['pseudo'];
Bonne journée
Aaymeric91
Messages postés
12
Date d'inscription
vendredi 25 février 2011
Statut
Membre
Dernière intervention
26 avril 2016
21 oct. 2013 à 18:45
21 oct. 2013 à 18:45
Un tout grand merci, la réponse est tellement simple que c'est frustrant de ce dire que j'ai passé 2 jours dessus :) Merci
Aaymeric91
Messages postés
12
Date d'inscription
vendredi 25 février 2011
Statut
Membre
Dernière intervention
26 avril 2016
Modifié par Aaymeric91 le 21/10/2013 à 18:49
Modifié par Aaymeric91 le 21/10/2013 à 18:49
Je profite vite fait de ta présence pour te demander si tu pouvais résoudre ce probleme suivant: j'ai ce bout de code:
Et j'ai l'erreur suivant: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\wamp\www\test\activation.php on line 45
$stmt = $bdd->prepare("SELECT token,actif FROM membres WHERE pseudo like :login ");
if($stmt->execute(array(':pseudo' => $login)) && $row = $stmt->fetch())
{
$clebdd = $row['token']; // Récupération de la clé
$actif = $row['actif']; // $actif contiendra alors 0 ou 1
}
Et j'ai l'erreur suivant: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\wamp\www\test\activation.php on line 45
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
21 oct. 2013 à 19:09
21 oct. 2013 à 19:09
L'erreur vient du paramètre nommé :pseudo qui n'existe pas dans ta requête préparée :
$stmt = $bdd->prepare("SELECT token,actif FROM membres WHERE pseudo like :login ");
if($stmt->execute(array(':login' => $login)) && $row = $stmt->fetch())
{
// ...
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Aaymeric91
Messages postés
12
Date d'inscription
vendredi 25 février 2011
Statut
Membre
Dernière intervention
26 avril 2016
21 oct. 2013 à 19:11
21 oct. 2013 à 19:11
Je m'étais fais la reflexion mais je fais passer :pseudo ou :login c'est la valeur envoyé par l'utilisateur non ? Si c'est oui, pourquoi mettre :login et $login ?
La réponse sera toute simple je suppose -_-"
La réponse sera toute simple je suppose -_-"
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
21 oct. 2013 à 19:19
21 oct. 2013 à 19:19
Il ne faut pas confondre la paramètre nommé :login et la variable php $login.
Tu peux le faire en nommant ton paramètre :pseudo, mais il faut utiliser ce même nom dans la fonction execute() :
L'important est d'utiliser le même nom de paramètre dans la requête préparée et dans la fonction execute().
Tu peux le faire en nommant ton paramètre :pseudo, mais il faut utiliser ce même nom dans la fonction execute() :
$stmt = $bdd->prepare("SELECT token,actif FROM membres WHERE pseudo like :pseudo");
if($stmt->execute(array(':pseudo' => $login)) && $row = $stmt->fetch())
{
// ...
}
L'important est d'utiliser le même nom de paramètre dans la requête préparée et dans la fonction execute().
Aaymeric91
Messages postés
12
Date d'inscription
vendredi 25 février 2011
Statut
Membre
Dernière intervention
26 avril 2016
Modifié par Aaymeric91 le 21/10/2013 à 19:27
Modifié par Aaymeric91 le 21/10/2013 à 19:27
Ok ok. J'ai en fait, fait un copié collé donc j'ai un peu du mal avec mon code.
La ligne suivante: AND $row = $stmt->fetch()) {
$row prend les valeurs de la ligne lorsque le login rentré correspond à celui dans la bdd stmt c'est ca ? car 2 ligne plus loin j'ai ce bout de code: $actif = $row['actif']; et j'ai une erreur plus loins comme quoi $actif n'est pas définie
Dans ma base de donné $actif devrait prendre la valeur 0 mais apparement ce n'est pas le cas.
EDIT: En fait, je remarque qu'il rentre même pas dans le if alors que le pseudo existe ..
La ligne suivante: AND $row = $stmt->fetch()) {
$row prend les valeurs de la ligne lorsque le login rentré correspond à celui dans la bdd stmt c'est ca ? car 2 ligne plus loin j'ai ce bout de code: $actif = $row['actif']; et j'ai une erreur plus loins comme quoi $actif n'est pas définie
Dans ma base de donné $actif devrait prendre la valeur 0 mais apparement ce n'est pas le cas.
EDIT: En fait, je remarque qu'il rentre même pas dans le if alors que le pseudo existe ..
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
21 oct. 2013 à 19:42
21 oct. 2013 à 19:42
Tu dois savoir que le copier/coller est l'ennemi du développeur ;)
Je te conseil de trouver un tuto sur PDO, il y en a plein sur le net et ce sera beaucoup plus facile pour le reste de tes développements de bien comprendre son fonctionnement.
N'hésites pas à revenir si tu as des questions plus précises, mais ça ne sert à que t'explique ici comment utiliser PDO alors qu'un bon tuto sera bien plus efficace :)
Je te conseil de trouver un tuto sur PDO, il y en a plein sur le net et ce sera beaucoup plus facile pour le reste de tes développements de bien comprendre son fonctionnement.
N'hésites pas à revenir si tu as des questions plus précises, mais ça ne sert à que t'explique ici comment utiliser PDO alors qu'un bon tuto sera bien plus efficace :)