Probleme d'apostrophe dans un champs profile

15 sujets de 1 à 15 (sur un total de 15)
  • Auteur
    Messages
  • #9804
    Photo du profil de Francoise TechNTIC
    Francoise TechNTIC
    Participant

    Bonjour,
    J’utilise la dernière version de WordPress ainsi que de Buddypress. Le thème est un thème perso fait avec Underscore_s et Bootstrap.

    Le problème que je rencontre vient des champs de profil.
    Nous avons crée un champs de profil : Société de type sélecteur déroulant et obligatoire.
    On a mit en valeur des noms de sociétés partenaires.
    Certaines de ces société ont des noms avec une apostrophe par exemple Tech’NTIC.
    Hors lorsque l’on affiche le profil de l’utilisateur à la place de l’apostrophe, on a ceci : '
    C’est donc le code ASCII de l’apostrophe. En plus, le lien de société du coup ne fonctionne plus.
    Je n’ai pas fait de modification sur le fichier profile-loop.php pareil je n’ai pas touché aux champs qui affiche les champs de profiles…

    Voila, si quelqu’un à une idée ou peut m’aider.
    Merci beaucoup
    Françoise

    #9805
    Photo du profil de Dan
    Dan
    Admin bbPress

    Hello,

    rien de méchant et simple à corriger. Du moins si j’ai bien compris la situation.
    On a mit en valeur des noms de sociétés me semble être une inscription en dur dans une liste. En l’occurence la liste déroulante pour le choix des sociétés.

    Il se trouve que BP nettoie les caractères saisis avant de les insérer dans la BDD. L’apostrophe signifie beaucoup en latin, mais pas grand chose en anglais et devient carrément subversif dès qu’on parle de code, php, par exemple! Ceci explique cela.

    Comment remédier à cela ?
    Et bien plutôt que d’écrire l’apostrophe en clair, on va la saisir en ascii. Du coup, au lieu d’écrire Tech'NTIC, on écrira Tech'NTIC.

    L’entité « apostrophe » n’existant plus, elle ne sera pas convertie et quand la donnée brute sera sortie de la base, le navigateur interprètera le dièse machin ascii comme étant une apostrophe.

    Ca c’est le premier cas de figure, très facile. L’autre possibilité est semblable, mais nécessite de maîtriser php – donc un peu plus compliqué, puisqu’il s’agit de savoir écrire un regex, càd une commande permettant de convertir, en sortie, une apostrophe qui figurerait dans un champ xprofile. Champ qu’il faudra bien sûr regex-ifier mais aussi identifier depuis une fonction à ajouter dans bp-custom…

    C’est en gros la solution si cette éventualité s’avèrerait nécessaire. Mais essayons d’abord la première !

    #9806
    Photo du profil de Francoise TechNTIC
    Francoise TechNTIC
    Participant

    Bonjour,
    Déjà merci d’être là et de ta téponse.

    Bon, j’ai fait comme tu dis donc dans la declaration du champs j’ai remplacé les apostrophes par ' au moment de l’enregistrement de ce nouveau champs il me le transforme en apostrophe, jusqu’ici tout va bien. Mais ensuite dans le profil de la personne quand je lui met le nom de la société avec l’apostrophe, j’ai une erreur à l’enregistrement ! Et de fait, il ne me prend pas ce nom de société avec cette apostrophe là !

    Du coup je suis allé bidouiller dans la base de données. J’ai modifié directement le champs :
    1er test : en mettant le code ascii il l’enregistre, laisse à l’affichage sur la base de données le code ASCII. Ensuite, dans le profil de l’utilisateur j’ai bien l’accent qui apparait mais quand je veux enregistrer avec cette donnée, il m’affiche un message d’erreur.
    2eme test : dans la base de données, je modifie le champs et je met un accent, un seul accent, sauf que quand j’enregistre le champs modifié à l’affichage il me montre un double accent !!!! Et ensuite, dans le profil, j’ai qu’un seul accent mais il ne veut pas enregistrer….

    Deuxieme info, dans le loop des membres, j’ai mit en dur le champs société :
    <p><?php bp_member_profile_data( 'field=Organisme' ); ?></p>
    Et là, l’accent s’affiche bien…

    Voila, si tu as une autre idée…
    Merci beaucoup
    Françoise

    #9807
    Photo du profil de Dan
    Dan
    Admin bbPress

    Hum.. étrange. Je viens d’activer 2 nouveaux champs sur bp-fr, via l’admin xprofile du backend. Tu peux les voir remplis sur mon profil et les trouver sur le tien, prêt à l’emploi. Merci de tester de ton côté.

    Un premier champ qui contient une liste déroulante. Les valeurs ont été entrées normalement, sans recourir à l’ascii.
    Le second est un champ texte qui permet à l’utilisateur de saisir un mot contenant une apostrophe. Là aussi, la saisie reste usuelle. On écrit naturellement.

    Dans les 2 cas, aucun incident à signaler. Les apostrophes passent très bien en entrée et en sortie.
    En faisant un essai avec une valeur en ascii, aussi bien pour un champ liste qu’un champ texte, le système rejette l’opération et indique une erreur. Ce qui est normal, puisqu’on tente d’entrer du code.

    Si tu n’as pas ce comportement sur ton site, je te conseille de désactiver ton thème et de faire un essai avec un Twenty. Si toujours rien, désactive tous les plugins sauf BP

    #9808
    Photo du profil de Francoise TechNTIC
    Francoise TechNTIC
    Participant

    Ok, j’ai vu. Donc du coup j’ai installé le theme Twenty Sixteen, avec j’ai fait plein de tests, j’ai crée tous le type de champs et le problème semble venir uniquement des champs de selecteur déroulant ou de selecteur multiple.
    Tous fonctionnent parfaitement avec l’apostrophe sauf ces deux là !
    Est ce que tu peux tester avec un selecteur déroulant de ton coté ?

    Moi, je vais prendre le temps de créer une nouvelle installe et je vais voir si ça fait pareil.

    Merci beaucoup de ton aide

    Françoise

    #9809
    Photo du profil de Dan
    Dan
    Admin bbPress

    Il y a déjà un test de sélecteur déroulant. C’est celui qui se nomme Apostrophe et contient o’hara et o’brian… et il fonctionne. Visiblement, tu n’as pas essayé. Ton profil est quasi vide.

    Par aquis de conscience, est-ce que tous les fichiers de ton BuddyPress sont à jour ?

    #9810
    Photo du profil de Francoise TechNTIC
    Francoise TechNTIC
    Participant

    J’ai raté mon profil 😉 mais bon voila qui est fait, et effectivement ici pas de problemes d’accents.
    Donc, j’ai fait une install local propre avec le dernier WordPress, le dernier Buddypres et Twenty Seventeen en theme. Y’a rien d’autres juste ça. Et j’ai toujours ce même probleme !
    Est ce que cela peut être la base de données ???
    Je ne comprends pas, j’ai un autres site ancien en prod je suis allé faire un test et là pas de problemes. J’ai un site que j’ai lancé en demo y’a deux jours et là le probleme revient de la même maniere ! Puis là en local sur une install de base le même probleme !

    Voila, je comprends pas.
    Françoise

    #9811
    Photo du profil de Francoise TechNTIC
    Francoise TechNTIC
    Participant

    Bon, j’ai monté un site test en ligne et j’ai le même probleme.
    Serais tu d’accord pour que je t’envois le lien en perso afin que tu ailles voir ?
    Merci
    Françoise

    #9812
    Photo du profil de Dan
    Dan
    Admin bbPress

    Quelle version de php sur le site qui fonctionne et de ceux qui déconnent ? Quel type de serveur tu utilises ? Apache, Ning, IIS ?
    As-tu essayé avec des navigateurs différents, voire avec des OS différents ?
    Y aurait-il des pages en cache ? Si oui les vider.

    #9813
    Photo du profil de Francoise TechNTIC
    Francoise TechNTIC
    Participant

    Ils sont tous sur le meme serveur :
    Version Apache 2.4.25
    Version de PHP 5.6.30
    Version de MySQL 10.0.29-MariaDB
    Architecture x86_64
    Système d’exploitation linux
    Sur un des site il y a une centaine d’abonnés et la plupart sont sur des sytemes totalement differents, et ils m’ont tous fait le même retour.

    Et là, sur le nouveau site test. Je viens de voir dans la base de données dans la table : wp_bp_xprofile_fields
    Les champs contenant des apostrophes, toutes les apostrophes sont précédés d’un anti slash ce qui donne : Tech\’NTIC
    J’ai lu tout un tas de post à ce sujet, je vais les tester.
    Sachant que si j’enleve l’anti slash dans la base de données, ensuite dans le profil quand j’enregistre avec le champs sur lequel j’ai enleve rl’anti slash, j’ai un message d’erreur !

    Merci

    #9814
    Photo du profil de Dan
    Dan
    Admin bbPress

    L’antislash devant l’apostrophe est tout à fait normal dans la base. C’est ce qui permet de le préserver à la sortie. Le code va virer le slash et le texte, tel qu’il a été saisi (aposstrophe incluse), sera affiché.

    Autre question: les champs ont été crées depuis l’admin de xprofile ou bien tu as écris une fonction pour cela ?

    #9815
    Photo du profil de Francoise TechNTIC
    Francoise TechNTIC
    Participant

    Hello
    Merci d’être encore là 🙂

    Bon, tout a ete crée depuis l’admin pas de fonction.
    J’ai avancé sur un point peut être important, j’aurais du essayer avant mais bon voila. Donc quand j’enleve l’option lien automatique sur le champs (lier ce champ à une recherche…) alors l’affichage est bien, l’apostrophe apparait enfin 🙂

    Mais voila, j’en ai vraiment besoin de ce lien.

    Voila, si ça peut te donner une idée du pourquoi du comment, ça m’aiderait.

    A toute
    Françoise

    #9816
    Photo du profil de Dan
    Dan
    Admin bbPress

    Je crois que tu as levé un lièvre! C’est un bug qui ressemble un peu à celui-ci.
    Je viens de le signaler. Abonne-toi au ticket si tu veux suivre les réparations… Sinon, un peu de patience!

    #9817
    Photo du profil de Francoise TechNTIC
    Francoise TechNTIC
    Participant

    Ha cool enfin ça me rassure c’est pas mon install ou mon theme 😉
    Bon je vais m’abonner au ticket.
    Merci beaucoup pour ton suivi et ton aide.
    A bientot
    Françoise

    #9818
    Photo du profil de Francoise TechNTIC
    Francoise TechNTIC
    Participant

    Ah une info peut être qui peut servir dans le ticket.
    J’ai un site du meme genre en ligne dont je n’ai pas fait la mise à jour depuis longtemps.
    Et là, tout fonctionne bien sur ces champs qu’ils soient activés en lien ou non.

    Le site est en version wordpress : 4.4.8 et Buddypress : 2.6.3

    A bientot
    Françoise

15 sujets de 1 à 15 (sur un total de 15)
  • Le sujet ‘Probleme d'apostrophe dans un champs profile’ est fermé à de nouvelles réponses.
Aller à la barre d’outils