[plugin] MyContact : formulaire de contact

2456713

Réponses

  • Hello!

    Je copie/colle un commentaire que j'ai laissé il y a un petit moment sur https://code.google.com/p/my-pluxml/wiki/MyContact]la page du projet.


    Merci pour ce super plugin très pratique.
    J'ai remarqué en faisant quelques tests que lorsque je rafraîchi la page de remerciement (celle qui s'affiche après l'envoie du mail) et bien le message est de nouveau envoyé. J'ai rafraîchi la page une dizaine de fois et j'ai reçu une dizaine d'email (tout en n'ayant rentré le captcha que la première fois).
    Avec un script qui rafraîchirait la page automatiquement, quelqu'un de mal intentionné pourrait saturer une boite au lettre... Voilà je voulais juste le signaler.

    :-)
  • Je viens de testé, il a raison une fois le message envoyé on rafraîchi autant de fois que l'on veut le message :)
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour

    Je prends note du souci. Je regarde ça dès que possible.
    Merci pour le signalement

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Quel est le code pour ne pas afficher la page de contact lorsque l'on indique 0 dans le champs position ?

    Le code donné par orz57 semble corrompu...

    Merci d'avance,

    Benjamin
  • StéphaneStéphane Member, Former PluXml Project Manager
    21/12/2011: version 1.4
    [+] Ajout option pour afficher ou non le menu pour accèder à la page de contact
    [+] Réencodage des fichiers en UTF-8 (sans BOM)

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Stéphane a écrit:
    21/12/2011: version 1.4
    [+] Ajout option pour afficher ou non le menu pour accèder à la page de contact
    [+] Réencodage des fichiers en UTF-8 (sans BOM)

    Wow, Ça c'est du service, encore une fois :) J'installe tout de suite !
  • Est-il possible d'insérer un hook dans une page statique pour appeler le formulaire ?
    Merci :)
  • Le plugin fonctionne à merveille :)
  • aruhunoaruhuno Member
    décembre 2011 modifié
    Je ne l'avais pas fait, alors je le fait maintenant, je te dis un grand merci pour ce plugin !


    La seule chose que je n'aime pas, c'est le field que tu as mis autour du formulaire, m'enfin sinon, ça marche au poil !
  • JosJos Member
    janvier 2012 modifié
    Désolé de relancer mon post, mais est ce que quelqu'un à réussi à rajouter des champs dans le formulaire.


    J'ai modifié le formulaire, créé de nouveaux champs, je les aies déclaré, ... Tout semble fonctionner, mais lors de la réception du mail je ne vois que les champs d'origine, pas les nouveaux.


    Je ne vois pas trop d'où vient le problème, à moins que ce plugin utilise le système d'envoi des commentaire, ce qui expliquerai qu'on ne vois pas les nouveaux champs.


    Avez vous une idée?
  • StéphaneStéphane Member, Former PluXml Project Manager
    fichier form.contact.php, ligne
    		if(plxUtils::sendMail($name,$mail,$plxPlugin->getParam('email'),$plxPlugin->getParam('subject'),$content))
    

    à toi de compléter la variable $content avec tes champs

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • JosJos Member
    janvier 2012 modifié
    Je te remercie infiniment, je vais tester. Je te tiendrai au courant si cela fonctionne.


    EDIT : en plus je viens de voir que j'avais pas modifié cette ligne, çà doit venir de là. Merci beaucoup.
  • Bonjour,

    Merci pour ce plugin qui est génial (je crois que je l'ai déjà dit dans un autre post mais bon vaut mieux 2fois qu'une). Mes compétences en php étant très limitées, serait-il possible d'avoir ce même plugin qui permettrait de rajouter des champs (obligatoires ou non). Car il me manque les champs: Prénom, Adresse et Numéro de tél.

    Et je me rend compte que j'ai besoin d'avoir la ville et le numéro de téléphone de mes contacts.

    Merci :)
  • Pareil pour moi, ca serait trop cool!
    merci
    Dan
  • JosJos Member
    J'avoue que j'ai toujours pas réussi, donc c'est vrai qu'un bon tuto serait le bienvenue pour rajouter des champs.
  • ça en parle ICI
  • JosJos Member
    J'y comprend pas grand chose malheureusement. De ce coté la j'ai des progrès à faire lol.
  • On va faire du basique.
    Le code intéressant est dans le fichier form.contact.php du plugin.
    Je veux récupérer une variable.
    Il faut d'abord que j'affiche un champ pour récupérer sa valeur.
    Plusieurs possibilités s'offrent à moi en fonction de ce que représente cette variable : champ texte court (input), champ texte long (textarea), liste de choix (select), choix booléens (radio), etc. Je vous laisse chercher sur le web (indice : siteduzero, section apprendre le html/css) les autres possibilités.
    On part du principe que la variable est de type texte court (prénom). On va donc utiliser un input. On appellera la variable "prenom".
    Dans le formulaire du plugin, entre les balises form et avant la balise input de type submit, on va insérer notre champ.
    <input type="text" name="prenom" id="id_prenom" value="" />
    
    Il faut également donner une description à cette balise afin que le visiteur s'y retrouve. On va donc utiliser une balise particulière appelée label.
    <label for="id_prenom">Votre prénom :</label>
    
    Cette balise est à placer juste avant le champ input. Je vous laisse regarder le code d'origine pour savoir où.
    Le formulaire est de type POST. C'est à dire que toutes les valeurs des champs de ce formulaire vont être encapsulées dans une variable transmise à php. Les valeurs ne seront pas visibles dans l'url au contraire des transmissions par type GET.
    Une fois que le formulaire sera complété et soumis, on aura donc dans cette variable POST, la valeur de notre champ.
    La variable POST étant un tableau, on pourra récupérer cette valeur en appelant l'index $_POST.
    Si vous observer le code d'origine, en début de page, il y a une condition disant que si la variable $_POST n'est pas vide, on récupère les valeurs de ses différents index.
    if (!empty($_POST)) etc.
    
    On va donc récupérer notre valeur "prenom" et vérifier que l'on a pas du code malicieux à la place.
    Cette valeur sera ensuite attribuée à une variable $prenom permettant de ne pas répéter cette opération plusieurs fois.
    $prenom=trim(htmlentities($_POST['prenom'],ENT_NOQUOTES));
    
    On va ensuite vérifier que cette variable contient quelque chose. Si ce n'est pas le cas, on affiche une erreur. Sinon, on concatène sa valeur à celle de la variable $nom (déjà définie par le plugin).
    if ($prenom = '') {
    $error = 'Veuillez indiquer votre prénom';
    }else {
    $name .= ' '.$prenom;
    }
    
    Pour éviter que le visiteur ne retape ces informations en cas d'erreur sur un champ, on va récupérer les champ déjà complété et remettre leur valeur dans les champs correspondants. Ainsi, à la place de
    <input type="text" name="prenom" id="id_prenom" value="" />
    
    on va mettre
    <input type="text" name="prenom" id="id_prenom" value="<?php echo plxUtils::strCheck(stripslashes(html_entity_decode($prenom))) ?>" />
    
    Ainsi, vous avez récupéré la valeur du prénom de votre visiteur.
    Je vous laisse le soin, sur ce modèle de récupérer les autres champs que vous souhaitez.
  • Super tuto!
    merci beaucoup.
    faire un formulaire est toujours une chose galère, ici on va pouvoir personnaliser les champs.
    a+
  • Et bien voila ce que je voulais :)
    merci bien !
  • You're welcome !
  • StéphaneStéphane Member, Former PluXml Project Manager
    ## Version 1.5 (01/02/2012) ##
    [+] Ne requiert plus l'utilisation de la fonction staticList pour accèder au formulaire
    [+] Affichage de la page dans le sitemap (requiert PluXml 5.1.6 minimum)
    BUG Pas d'affichage du message d'alerte dans l'administration si l'adresse email à contacter n'est pas renseignée
    BUG Messages d'erreurs à cause de variables non renseignées (warnings)

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Merci Stéphane :)
  • Stéphane a écrit:
    (requiert PluXml 5.1.6 minimum)


    Une surprise pour bientôt ? :)


    à plus,

    Gzyg
  • StéphaneStéphane Member, Former PluXml Project Manager
    Gzyg a écrit:
    Stéphane a écrit:
    (requiert PluXml 5.1.6 minimum)


    Une surprise pour bientôt ? :)


    à plus,

    Gzyg

    :)
    En fait les hooks sont mal déclarés dans le fichier sitemap.php de la version actuelle 5.1.5.
    Donc pour le moment la page de contact n'apparait pas dans le sitemap.
    Lorsque la 5.1.6 sortira ça sera tout bon. Le plugin prend déjà en compte la modif.

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Cool :)


    Fonctionne sans le menu staticlist.


    Merci beaucoup Stephane
  • blastoblasto Member
    février 2012 modifié
    J'ai tous les e-mails envoyés depuis plxmycontact qui arrivent en tant que "Courrier indésirable". J'ai fais l'essai depuis plusieurs domaines et c'est à chaque fois le cas.

    Est-ce normal ?

    Merci :)



    PS: Pour info, j'utilise windows live mail et j'ai la sécurité antispam à fond. Mais je n'ai pas ce soucie en générale.
  • StéphaneStéphane Member, Former PluXml Project Manager
    C'est peut etre le contenu de l'objet du mail qui est identifié comme spam. Essaye en le changeant.
    Sinon c'est l'adresse de ton site qui est blacklistée par windows live mail. Là je ne sais pas si ça se règle

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • dans le post de départ :
    "[+] Affichage de la page dans le sitemap (requiert PluXml 5.1.6 minimum)" ...
    nouvelle version ???
    pas en ligne actuellement ;)
  • blasto a écrit:
    PS: Pour info, j'utilise windows live mail et j'ai la sécurité antispam à fond. Mais je n'ai pas ce soucie en générale.

    Moi les gens qui sont sur ce truc mail me disent que mon adresse mail perso est considérée comme étant un risque, un truc comme ça...
    N'importe quoi ce windows Mail!
Connectez-vous ou Inscrivez-vous pour répondre.