Bonjour à tous!!

Dans une page PHP, je fais afficher certains catégorie. J'en invente une au hasard : L'abeille. Il affichera bien "L'abeille" dans la poage en cours, mais il y aura une erreur JavaScript.

onclick="uneFonction('<?php echo $categorie; ?>')"


devient

onclick="uneFonction('L'abeille')"


Évidemment, l'apostrophe de la catégorie vient fermer ma chaîne. Et l'inverse est aussi vrai, en inversant ' et ".
Si je mets le caractère \ devant l'apostrophe dans la BdD, le problème JS n'est plus mais ça affiche L\'abeille.

Comment forcer la page a comprendre que les apostrophes PHP ne sont pas des fermetures de chaîne? Ou bien PhpMyAdmin permet-il de définir certains caractères différemment?
Merci d'avance.
Modifié par tidanone (04 Aug 2005 - 18:45)
la fonction php, addslashes() est ton amie.
(ça reste à tester quand meme)
Olivier, j,ai essayé ton truc (merci, d'ailleurs).
Dans le code source, L'abeille devient L&#039abeille. L'affichage est bon, mais le problème persiste.

Addslashes fonctionne à merveille. Merci à vous deux!! Smiley ravi
Modifié par tidanone (04 Aug 2005 - 18:07)
En fait, je crois que tu n'auras pas moyen de faire ce que tu veux.

De toute façon, c'est un mauvais choix (je trouve) d'utiliser une chaine aussi variable qu'un titre de catégorie comme paramètre de fonction.

T'as pas moyen de gérer ça avec un 'id' de catégorie ou autre ?

Si tu nous disais qu'est ce que fait "uneFonction" Smiley cligne
Pour répondre à tes questions, la marque en question est "L'Oréal", la compagnie de cosmétiques. La fonction envoie le nom de celle-ci et la place dans un champ caché.

Mais je viens de remarquer que la valeur du champ caché est bien "L\'Oréal". Ce qui me crée d'autres problèmes par la suite...
Modifié par tidanone (04 Aug 2005 - 18:10)
Euh... j'ai rien pigé !

A la limite, la marque on s'en fout ^^ enfin bref !

La fonction envoie le nom (où ça ??) et le place dans un champ caché (pourquoi faire ??)

Je vois pas le but de la manoeuvre !!
Le nom est envoyé à la page suivante, qui affiche la description de la marque. Mais comment passer une information POST (le nom de la marque) d'une page à l'autre sans avoir un champ caché pour stocker la valeur? Sinon, je devrais avoir un formulaire par marque? Chacun envoie le nom de la marque?
A mon avis, tu ferais mieux de stocker nom/cléNom dans un tableau pour gérer ça.

Enfin même, une simple cléNom, c'est suffisant.

oreal à la place de L'Oréal, albinos à la place de L'Albinos etc.

Ca me parait plus simple et plus viable à gérer !
Surtout que je vois mal comment tu peux gérer l'affichage de tes pages avec L'Oréal sans avoir quelque part un moyen ou un autre qui fait correspondre L'Oréal à pwet.html par exemple.
Ahhh oui et puis !

Comment ça marche ton bidule si JavaScript est inactif ??

Pourquoi ne pas gérer ça direct en PHP ?

Au lieu de faire ton "echo $categorie" dans le onclick, pourquoi pas direct dans le champs de formulaire ?

Ahh oui et encore !
Pourquoi tu passes pas le truc en GET avec un vrai lien bien de chez nous fait pour ça ? Smiley langue

J'avoue que je trouve ton système plutôt abracadabrantesque et compliqué pour ce que c'est faire Smiley sweatdrop
Olivier, je te remercie beaucoup pour ta patience. Le problème venait en grande partie du fait que mon employeur voulait un site en POST au lieu d'en GET. Gérer les formulaires et le JS était du trouble inutile et peu accessible. Je l'ai convaincu de passer en GET.
Merci à tous!
Modifié par tidanone (04 Aug 2005 - 18:43)
Enfin, ne m'en voulez pas, hein... Je ne faisais que mon boulot, oppressé par les ordres d'un patron qui ne s'y connaît pas Smiley rolleyes

Sans rancune Smiley cligne
Y a pas de mal Smiley cligne

Je tenais juste à t'indiquer des solutions plus viables.

Je vois pas trop l'interet d'utiliser post Smiley ohwell
Masquer la page en cours dans l'url pour avoir une url uniforme tout le long du site je suppose ?

Auquel cas, ça serait vraiment pourri Smiley lol bah vui, adieu bookmarking Smiley cligne

Tu pourras lui dire que "Google" (is god Smiley rolleyes ) index mieux en utilisant les infos de l'url Smiley lol

@ Merkel > hmm... je crois que je vais avoir la flemme de lire Smiley lol enfin peut être qu'il faudrait plutôt que de faire mes suppositions à la c** !
Ahh bah j'avais tout bon !!!

Je peux me la péter là ?
Nan ? ça vaut pas la peine ? roohh...

Bon, bah ton patron est pas trop con ni butté, c'est une bonne nouvelle pour toi Smiley lol

GET + URL Rewrite et ça roule Smiley cligne
Pour tes visiteurs qui voient où ils sont (cf friendly url) en regardant l'url, qui peuvent bookmarker etc
Pour Google (is god Smiley rolleyes Smiley biggol ) qui indexe mieux tes pages et aussi les indexes tout court, parceque pas dit qu'il arrive à grand chose avec les POST, bah vui, l'url pointera vers une page, mais le paramètre post ne sera pas suivi dans le résultat de la recherche, je crois qu'on a bien fait d'insister sur le pourquoi du comment sinon ton patron aurait vu son site dans les oubliettes des moteurs Smiley lol