Error: Undefined index: name in C:\wamp\www\xx\
Résolu/Fermé
web.dev
Messages postés
52
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
8 janvier 2018
-
Modifié par baladur13 le 17/09/2015 à 11:44
Utilisateur anonyme - 18 sept. 2015 à 00:12
Utilisateur anonyme - 18 sept. 2015 à 00:12
12 réponses
Utilisateur anonyme
17 sept. 2015 à 10:58
17 sept. 2015 à 10:58
Bonjour
Le problème, c'est que tu définis deux fois la fonction $("#rappeler").click(function() { : une fois pour envoyer "name", une fois pour envoyer "email". Mais une fonction ne peut pas être définie deux fois simultanément : la deuxième définition remplace la première, et tu n'envoies que "email".
Il suffit d'envoyer tes deux variables à la fois :
Le problème, c'est que tu définis deux fois la fonction $("#rappeler").click(function() { : une fois pour envoyer "name", une fois pour envoyer "email". Mais une fonction ne peut pas être définie deux fois simultanément : la deuxième définition remplace la première, et tu n'envoies que "email".
Il suffit d'envoyer tes deux variables à la fois :
$("#rappeler").click(function() { var email=$('#email').val(); var nom=$('#name').val(); $.fancybox.open({ href : 'rappel.php?email=' + email+'&name='+nom, type : 'iframe', padding : 5, }); });
Utilisateur anonyme
17 sept. 2015 à 11:41
17 sept. 2015 à 11:41
J'ignore la raison profonde du problème, ça vient sans doute du fait que la question soit un textarea et non pas un input.
As-tu essayé avec une question très courte (un seul mot, aucun caractère spécial) ?
Il faut encoder les valeurs que tu ajoutes après rappel.php?, sinon elles ont toutes les chances de donner une url incorrecte. La fonction à utiliser est encodeURIComponent. Il faut l'utiliser individuellement sur chaque valeur : email, nom, etc. et pas sur l'uri dans son ensemble
As-tu essayé avec une question très courte (un seul mot, aucun caractère spécial) ?
Il faut encoder les valeurs que tu ajoutes après rappel.php?, sinon elles ont toutes les chances de donner une url incorrecte. La fonction à utiliser est encodeURIComponent. Il faut l'utiliser individuellement sur chaque valeur : email, nom, etc. et pas sur l'uri dans son ensemble
web.dev
Messages postés
52
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
8 janvier 2018
17 sept. 2015 à 12:30
17 sept. 2015 à 12:30
Quand je change le textarea par un input type text ca fonctionne correctement !
Avez vous une autre idée alternative ?
Merci beaucoup
Avez vous une autre idée alternative ?
Merci beaucoup
Utilisateur anonyme
17 sept. 2015 à 14:09
17 sept. 2015 à 14:09
Je t'ai demandé deux choses :
-d'essayer avec une question très courte (un seul mot, aucun caractère spécial) ? (question était un textarea)
- d'utiliser la fonction encodeURIComponent
Avant de parler de nouvelles idées, pourrais-tu me dire si tu as tenu compte des anciennes ?
-d'essayer avec une question très courte (un seul mot, aucun caractère spécial) ? (question était un textarea)
- d'utiliser la fonction encodeURIComponent
Avant de parler de nouvelles idées, pourrais-tu me dire si tu as tenu compte des anciennes ?
web.dev
Messages postés
52
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
8 janvier 2018
17 sept. 2015 à 14:27
17 sept. 2015 à 14:27
Désolé pour les questions :)
Absolument, j'ai essayé un seul mot et cela ne fonctionne pas!
et concernant la fonction "encodeURIComponent" je ne sais pas vraiment comment l'utilisé :(
Absolument, j'ai essayé un seul mot et cela ne fonctionne pas!
et concernant la fonction "encodeURIComponent" je ne sais pas vraiment comment l'utilisé :(
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
17 sept. 2015 à 18:45
17 sept. 2015 à 18:45
var email=encodeURIComponent($('#email').val()); var nom=encodeURIComponent($('#name').val()); ...
Tu devrais aussi afficher la valeur de question dans la console pour voir ce qu'elle contient : console.log(question)
Si tu ne sais pas te servir de la console javascript de ton navigateur, commence par cherche de l'aide dessus, c'est indispensable pour mettre au point du javascript.
web.dev
Messages postés
52
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
8 janvier 2018
17 sept. 2015 à 19:32
17 sept. 2015 à 19:32
Encore merci pour vos réponse,
J'ai ajouté la fonction comme suggéré mais comme d'habitude avec le textarea le champ reste vide.
J'ai installé Firebug et je n'ai malheureusement pas trouvé comment afficher la valeur de question comme vous me l'avez demandé
Cordialement
J'ai ajouté la fonction comme suggéré mais comme d'habitude avec le textarea le champ reste vide.
J'ai installé Firebug et je n'ai malheureusement pas trouvé comment afficher la valeur de question comme vous me l'avez demandé
Cordialement
Utilisateur anonyme
17 sept. 2015 à 19:58
17 sept. 2015 à 19:58
Je n'utilise pas Firebug.
Avec Chrome, je fais F12 et je clique sur l'onglet console, c'est tout.
Avec Chrome, je fais F12 et je clique sur l'onglet console, c'est tout.
web.dev
Messages postés
52
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
8 janvier 2018
17 sept. 2015 à 20:03
17 sept. 2015 à 20:03
J'ai essayé avec Chrome et il y a aucune info dans l'onglet console.
NB: Je peux hébergé les éléments en question si cela pourrai nous aider.
merci
NB: Je peux hébergé les éléments en question si cela pourrai nous aider.
merci
Utilisateur anonyme
17 sept. 2015 à 21:20
17 sept. 2015 à 21:20
il y a aucune info dans l'onglet console
Donc déjà pas d'erreur, c'est une bonne nouvelle.
Ajoute
Et si ça ne pose pas de problème de confidentialité, oui, ça peut aider beaucoup d'héberger les éléments.
Donc déjà pas d'erreur, c'est une bonne nouvelle.
Ajoute
console.log(question);pour voir ce qu'il y a dans question.
Et si ça ne pose pas de problème de confidentialité, oui, ça peut aider beaucoup d'héberger les éléments.
web.dev
Messages postés
52
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
8 janvier 2018
17 sept. 2015 à 22:17
17 sept. 2015 à 22:17
le résultat de mon ajout de console.log(question) est:
Je n'ai pas pu vous envoyé le lien en privé
..merci quand même
<textarea cols="28" rows="6" name="question" id="question" placeholder="Question:" style="color:#999;"> </textarea>
Je n'ai pas pu vous envoyé le lien en privé
..merci quand même
web.dev
Messages postés
52
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
8 janvier 2018
17 sept. 2015 à 23:10
17 sept. 2015 à 23:10
c'est fait
Utilisateur anonyme
Modifié par le père. le 17/09/2015 à 23:47
Modifié par le père. le 17/09/2015 à 23:47
Vu.
Le problème est au niveau de la "fancybox".
J'ignore comment ce truc est censé marcher, mais il a un problème au niveau des textarea.
Quand on lui passe une valeur pour un champ, il la met avec l'attribut "value" dans la balise input correspondante, ce qui permet à la fancy box d'afficher la valeur que tu avais saisie.
Le problème, c'est qu'il utilise aussi l'attribut value pour initialiser un textarea, ce qui ne convient pas : le textarea s'initialise en mettant un texte entre les deux balises
Voici un extrait du code source généré pour la fancybox (avec Chrome : clic droit + Inspecter l'élément) avec des valeurs bidon que j'avais entrées :
Pour le textarea, il aurait fallu
Il doit y avoir une manière de régler ça au niveau de la fancy box. Si comme je le suppose ce truc n'est pas de toi, as-tu un lien sur le site où tu as trouvé ça ? Il y a sûrement une explication.
[Edit] Re-vu
Ça se passe dans ta fonction de rappel :
Si tu as compris ce que j'ai écris, tu dois pouvoir corriger toi-même.
Le problème est au niveau de la "fancybox".
J'ignore comment ce truc est censé marcher, mais il a un problème au niveau des textarea.
Quand on lui passe une valeur pour un champ, il la met avec l'attribut "value" dans la balise input correspondante, ce qui permet à la fancy box d'afficher la valeur que tu avais saisie.
Le problème, c'est qu'il utilise aussi l'attribut value pour initialiser un textarea, ce qui ne convient pas : le textarea s'initialise en mettant un texte entre les deux balises
Voici un extrait du code source généré pour la fancybox (avec Chrome : clic droit + Inspecter l'élément) avec des valeurs bidon que j'avais entrées :
<input type="text" name="tel" id="tel" placeholder="Numéro de téléphone:" data-rule="maxlen:4" data-msg="Entrer au moins 4 caractères" value="1234"> ... <textarea name="question" id="question" placeholder="Question:" data-constraints="@Required @Length(min=20,max=999999)" value="tutu"></textarea>
Pour le textarea, il aurait fallu
<textarea name="question" id="question" placeholder="Question:" data-constraints="@Required @Length(min=20,max=999999)" >tutu</textarea>
Il doit y avoir une manière de régler ça au niveau de la fancy box. Si comme je le suppose ce truc n'est pas de toi, as-tu un lien sur le site où tu as trouvé ça ? Il y a sûrement une explication.
[Edit] Re-vu
Ça se passe dans ta fonction de rappel :
<textarea name="question" id="question" placeholder="Question:" data-constraints='@Required @Length(min=20,max=999999)' value="<?php echo $question;?>" ></textarea>
Si tu as compris ce que j'ai écris, tu dois pouvoir corriger toi-même.
web.dev
Messages postés
52
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
8 janvier 2018
Modifié par web.dev le 18/09/2015 à 00:07
Modifié par web.dev le 18/09/2015 à 00:07
Absolument, elle doit être ainsi:
Ce qui veut dire, supprimer l'attribut valeur.
Merci
<textarea name="question" id="question" placeholder="Question:" data-constraints='@Required @Length(min=20,max=999999)' ><?php echo $question;?> </textarea>
Ce qui veut dire, supprimer l'attribut valeur.
Merci
web.dev
Messages postés
52
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
8 janvier 2018
17 sept. 2015 à 23:45
17 sept. 2015 à 23:45
malheureusement, j'en ai pas le lien de cet exemple.
A votre avis je dois me pencher pour une solution alternative ?
A votre avis je dois me pencher pour une solution alternative ?
Modifié par web.dev le 17/09/2015 à 11:39
Cependant, je veux faire envoyer les éléments suivants (Name, Email, Tel et Question)
Mais quant j'ai fais votre suggestion, le name, le mail et le tel ca marche bien sauf que pour la question elle ne s'affiche rien.
NB: Le name, l'email et le tel se sont des input et que le champ question est un textarea.
Voila mon code: