|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : décembre 2002 Messages : 34 ![]() |
Bonjour,
Je suis face à un problème, je tente de comparer une chaine résultant d'un tableau, et je n'ai pas le bon résultat sous IE. avec Firefox pas de pb. Code :
$categories_array = array ("1" => array ("Arts, Antiquités"), "22" => array ("Arts, Antiquités : Architecture, Matériaux"), "129" => array ("Arts, Antiquités : Architecture, Matériaux : Eléments d'architecture"), "130" => array ("Arts, Antiquités : Architecture, Matériaux : Jardin, Extérieur, Ferronnerie"), "131" => array ("Arts, Antiquités : Architecture, Matériaux : Matériaux de construction")) Sous firefox: OK pour toutes les catégories Sous IE: Ca passe pour la catégorie id=1 et 22 mais pas pour 129 Je suppose que cela est dû au caractère UTF8 comme par exemple 'd''. Comment le résoudre ? Merci. |
||
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Tu pourrais nous préciser ce qu'il se passe quand "ca ne passe pas" ?
Sinon, je ne comprends pas bien ce que je cherche à faire ton code : - a quoi sert le reset() au début ? - pourquoi $categories_array est composé de tableaux d'une seul entrée ? - pourquoi utiliser strcmp() plutot que == ? - pourquoi la catégorie devient la clef quand on a trouvé un élément ? et pourquoi continue t-on de chercher étant donné qu'on ne peut plus rien trouver ? |
|
|
00
|
|
|
#3 | ||||||
|
Invité régulier
![]() Inscription : décembre 2002 Messages : 34 ![]() |
Rien, mon id de catégorie n'est pas récupérer sous IE
Citation:
Citation:
Citation:
Citation:
Citation:
Citation:
Merci |
||||||
|
|
00
|
|
|
#4 | |||
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Citation:
Citation:
Une fois que tu l'as trouvé, tu lui donnes une valeur numérique. Donc dans tous les tours de boucle suivant tu ne trouveras plus rien. Citation:
Ton bout de code ne nous indique pas cette partie. Sinon c'est très étrange. Essai un var_dump($_POST['category']) sur les deux navigateurs. |
|||
|
|
00
|
|
|
#5 | |||||
|
Invité régulier
![]() Inscription : décembre 2002 Messages : 34 ![]() |
Merci, je ne savais pas
Citation:
Citation:
Code :
Citation:
Merci pour tes réponses Sabotage. |
|||||
|
|
00
|
|
|
#6 | ||
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Citation:
Citation:
tu pourrais dans ce cas nous montrer le formulaire dont il provient ? |
||
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : décembre 2002 Messages : 34 ![]() |
Nan, nan le $_POST['category'] n'est pas vide (j'ai fait un echo et cela m'affiche bien le post de la catégorie) en fait cela ne passe pas dans la condition du if .
Donc mon $category reste avec la chaîne de caractère au lieu d'avoir le $key qui correspond à l'id dans la table. Merci pour l'astuce du break Sabotage, j'ai répondu trop vite |
|
|
00
|
|
|
#8 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Bon reprenons calmement.
Que valent dans le cas IE et dans le cas Firefox $_POST['category'] et $sql ? |
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : décembre 2002 Messages : 34 ![]() |
Je suis calme, pas de pb.
Cas IE - Firefox - catégorie Arts et Antiquités: $_POST['category'] = Arts et Antiquités Passe dans la condition 'if' et le $category = $key donc dans ce cas $key=1 Cas IE - Arts, Antiquités : Architecture, Matériaux : Eléments d'architecture $_POST['category'] = Arts, Antiquités : Architecture, Matériaux : Eléments d'architecture Ne passe pas dans la condition 'if' et le $category reste à Arts, Antiquités : Architecture, Matériaux : Eléments d'architecture Donc $sql n'est pas bon puisque category reçoit une chaîne au lieu de l'id donc rien Cas Firefox - Arts, Antiquités : Architecture, Matériaux : Eléments d'architecture $_POST['category'] = Arts, Antiquités : Architecture, Matériaux : Eléments d'architecture Passe dans la condition 'if' et le $category=129 ce qui est bon. Je pense qu'il y a un retour charriot, un caractère invisible qui traine mais ou ??? |
|
|
00
|
|
|
#10 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Pourquoi tu fais un strtolower() si le post renvoit un élément en majuscule et que le tableau aussi contient des éléments avec des majuscules ?
|
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Inscription : décembre 2002 Messages : 34 ![]() |
Mon tableau n'est pas en majuscules, la 1ère lettre est en Majuscules, tandis que le post lui est en minuscule d'où le strtolower .
|
|
|
00
|
|
|
#12 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Dans le message ou tu as fais un recapitulatif, tu avais indiqué le $_POST avec des majuscules.
De toute facon le probleme ne peux pas venir du bout de code que tu nous as mis. Si le resultat est différent sur les navigateurs, il y a forcemment un probleme sur une etape HTTP/HTML. Essaie de faire un echo md5($_POST['category'] dans les deux cas. Ca confirmera peut etre que les deux navigateurs n'envoient pas la meme chose. |
|
|
00
|
|
|
#13 |
|
Invité régulier
![]() Inscription : décembre 2002 Messages : 34 ![]() |
Désolée de t'avoir induit en erreur.
Alors le $_post sous IE donne: 1adeab8917b63bf8c193d38ec1c16b3d et sous firefox: 1adeab8917b63bf8c193d38ec1c16b3d donc la même chose
|
|
|
00
|
|
|
#14 | ||
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Bon sortons les outils de dissection on va voir quel element réagit differement.
Code :
|
||
|
|
00
|
|
|
#15 |
|
Invité régulier
![]() Inscription : décembre 2002 Messages : 34 ![]() |
Trousse à outils sortis, merci Sabotage
Résultat sous IE: 1:arts, antiquités : architecture, matériaux : eléments d\'architecture==Arts, Antiquités DIFFERENT 22:arts, antiquités : architecture, matériaux : eléments d\'architecture==Arts, Antiquités : Architecture, Matériaux DIFFERENT 129:arts, antiquités : architecture, matériaux : eléments d\'architecture==Arts, Antiquités : Architecture, Matériaux : Eléments d'architecture DIFFERENT QUESAKO ???? Pb d'antislashes Résultat sous Firefox: 1:arts, antiquités : architecture, matériaux : eléments d\'architecture==Arts, Antiquités DIFFERENT 22:arts, antiquités : architecture, matériaux : eléments d\'architecture==Arts, Antiquités : Architecture, Matériaux DIFFERENT 129:arts, antiquités : architecture, matériaux : eléments d\'architecture==Arts, Antiquités : Architecture, Matériaux : Eléments d'architecture DIFFERENT Même chose mais il arrive tout de même à passer dans la condition ... whaouuuuuuuuuu |
|
|
00
|
|
|
#16 |
|
Invité régulier
![]() Inscription : décembre 2002 Messages : 34 ![]() |
Rectification, suite à ta modification de code, sous firefox le $sql n'es pas bon, l'id de la catégorie n'est pas alimenté.
|
|
|
00
|
|
|
#17 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Tu dois avoir les magic_quotes activés.
Si tu as la possibilité de le faire, desactive les car c'est plus embêtant qu'autre chose. |
|
|
00
|
|
|
#18 |
|
Invité régulier
![]() Inscription : décembre 2002 Messages : 34 ![]() |
Je n'ai pas la possibilité de les désactivée, je suis sur un mutualisé.
Je n'ai plus qu'à jouer avec les stripslashes . Merci Sabotage, et je garde la trousse à outils
|
|
|
00
|
|
|
#19 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Tu peux toujours essayer avec un .htaccess
|
|
|
00
|
|
|
#20 |
|
Invité régulier
![]() Inscription : décembre 2002 Messages : 34 ![]() |
Sous OVH c'est:
SetEnv MAGIC_QUOTES 1 Mais cela ne fonctionne toujours pas sous IE. 129:arts, antiquités : architecture, matériaux : eléments d'architecture==arts, antiquités : architecture, matériaux : eléments d'architecture DIFFERENT |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com