[RESOLU] MyContact - erreur unescape

nicomaxnicomax Member
mars 2013 modifié dans Entraide
Salutatous,


J'ai installé MyContact - Version 1.5.1 et voici ma config :


Pluxml version 5.1.7 (encodage UTF-8)
Version de php : 5.2.0-10
Etat des "magic quotes" : 1
✔ ../../data/configuration/ est accessible en écriture
✔ ../../data/articles/ est accessible en écriture
✔ ../../data/commentaires/ est accessible en écriture
✔ ../../data/statiques/ est accessible en écriture
✔ ../../data/images/ est accessible en écriture
✔ ../../data/documents/ est accessible en écriture
✔ Module apache de réécriture d'url mod_rewrite disponible
✔ Bibliothèque GD installée
✔ Fonction d'envoi de mail disponible


J'ai installé le tout dernier Thème Mystique pour cette version Pluxml 5.1.7


Voici mon problème :


EXEMPLE 1 :


Si je rempli tous les champs correctement mais que je répond mal ou pas du tout à la question anti-spam :


il m'affiche bien "La vérification anti-spam a échoué" MAIS :


Le champ Mail se rempli d'un "<script type="


Et à la suite s'affiche ceci :
eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%6e%69%63%6f%6d%61%78%33%34%40%67%6d%61%69%6c%2e%63%6f%6d%27%29'))" />


Et mon message qui était :


Bonjour,
j'me présente,
Céline c'est bien moi !


se réaffiche comme suit (ajout de "\") :


Bonjour,
j\'me présente,
Céline c\'est bien moi !


EXEMPLE 2 :


Si je rempli tous les champs correctement et que je répond correctement à la question anti-spam :


Le message est bien envoyé mais avec les "\" :


Bonjour,
j\'me présente,
Nico c\'est bien moi !


Et le nom de l'émetteur s'affiche comme suit :
CÀ©line au lieu de Céline


Merci de vos lumières :)

Réponses

  • Pour le problème 1 : la solution a été donnée ici par Jerry Wham (voir ce message et le suivant), elle est récapitulée ici.


    Problème 2 :
    Pour les slashes, il manque peut-être bien un stripslashes(...) avant l'envoi du message dans le code du plugin.
    Et pour le problème d'accent, je suppose que dans le plugin l'envoi s'effectue en utf-8. Il faudrait vérifier que le codage de ta page est bien déclaré en utf-8 (au début du code HTML, dans header.php).
  • Merci Francis,

    j'ai modifié l'expression régulière comme tu le proposes et mon problème 1 est résolu :)

    j'essaie de voir maintenant pour mon problème 2 et les anti-slash "\"

    merci encore
  • StéphaneStéphane Member, Former PluXml Project Manager
    @nicomax
    Peux-tu tester cette solution stp ?
    http://forum.pluxml.org/viewtopic.php?pid=30664#p30664
    La solution de Francis ne tient compte que des champs input des formulaires mais pas des textareas et chez moi elle ne fonctionne pas

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Bonjour Stéphane,


    Ta solution est OK pour :


    Le champ Mail ne se remplit plus d'un "<script type="


    Le message suivant ne s'affiche plus :
    eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%6e%69%63%6f%6d%61%78%33%34%40%67%6d%61%69%6c%2e%63%6f%6d%27%29'))" />


    Et une fois le mail envoyé,
    à réception j'ai bien en émetteur "Céline" et non plus "CÀ©line"


    PAR CONTRE j'ai toujours les anti-slash au réaffichage du message et à sa réception


    Nicomax
  • StéphaneStéphane Member, Former PluXml Project Manager
    @nicomax: peux essayer ceci stp ?
    edite le fichier plugins/plxMyContact/form.contact.php et remplace la ligne
    $content=$_POST['content'];
    
    par
    $content=plxUtils::unSlash($_POST['content']);
    

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Cool, les anti-slash "\" ne s'affichent plus :)
    Merci Stéphane
  • StéphaneStéphane Member, Former PluXml Project Manager
    merci pour le retour
    je vais faire le nécessaire pour mettre à jour le plugin

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

Connectez-vous ou Inscrivez-vous pour répondre.