[Résolu] Ajout question et réponse à case à cocher pluggin MyContact

noogatynoogaty Member
février 2015 modifié dans Entraide
Salut à tous,
Vu que ce puggin à l'air un peu abandonné (http://forum.pluxml.org/viewtopic.php?id=4240), je souhaiterai de l'aide pour ajouter au pluggin MyContact (http://forum.pluxml.org/viewtopic.php?id=2637) pour y ajouter une question avec choix de réponse avec case à cocher.

Je suis suis pas doué en php ... :(

J'ai ajouté ce bout de code :
<p>Ma question :</p>
    
    <INPUT type="checkbox" name="choix1" value="1"> Réponse 1
    <INPUT type="checkbox" name="choix2" value="2"> Réponse 2
    <INPUT type="checkbox" name="choix3" value="3"> Réponse 3
    <INPUT type="checkbox" name="choix4" value="4"> Réponse 4
    <INPUT type="checkbox" name="choix5" value="5"> Réponse 5
    <INPUT type="checkbox" name="choix6" value="6"> Réponse 6
    <INPUT type="checkbox" name="choix7" value="7"> Réponse 7
Juste après :
<textarea id="message" name="content" cols="60" rows="12"><?php echo plxUtils::strCheck($content) ?></textarea>
Dans le fichier form.contact.php

Maintenant, où je sèche complet après avoir chercher des heures sur des sites, c'est comment récupérer et donc ajouter la réponse au mail envoyé ?

Je pense que c'est dans le fichier config.php que cela se passe, mais après avoir bidouillé plusieurs heures, j'y arrive pas ... :(

Quelqu'un pourrait m'aider (à apprendre) ? :8

Merci ! ;)

Réponses

  • Salut,

    Ce que tu demandes est extrêmement compliqué.

    Dans un premier temps : http://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql/transmettre-des-donnees-avec-les-formulaires
    pour comprendre comment ça fonctionne.

    Ensuite, pour adapter ça au plugin, c'est plus compliqué parce qu'il faut bien connaître les ressorts internes de PluXml.

    Je pense qu'il vaudrait mieux réécrire directement (ou trouver sur le net) un formulaire qui fait tout ça d'un coup. Le mettre sur une page à part à côté de ton site et faire un lien depuis ton site.
    Le deuxième problème c'est qu'il te faudra vraisemblablement une base de données SQL... (les exemples en ligne sont quasiment tous construits sur des bases SQL).


    Bon courage, à plus,

    Gzyg
  • StéphaneStéphane Member, Former PluXml Project Manager
    Dans le fichier form.contact.php:

    Déjà pour simplifier les checkboxes, utilise ce code
        <input type="checkbox" name="choix[]" value="1" /> Réponse 1<br />
        <input type="checkbox" name="choix[]" value="2" /> Réponse 2<br />
        <input type="checkbox" name="choix[]" value="3" /> Réponse 3<br />
        <input type="checkbox" name="choix[]" value="4" /> Réponse 4<br />
        <input type="checkbox" name="choix[]" value="5" /> Réponse 5<br />
        <input type="checkbox" name="choix[]" value="6" /> Réponse 6<br />
        <input type="checkbox" name="choix[]" value="7" /> Réponse 7<br />
    

    Au lieu de choix1, choix2, etc... mieux vaut utiliser choix[] ce qui sera plus facile à traiter dans une boucle, plutot que de tester une par une les cases à cocher

    Ensuite en dessous de la ligne
    $content=plxUtils::unSlash($_POST['content']);
    

    Ajoute
    foreach($_POST['choix'] as $val) {
       $content.= 'Réponse '.$val.' cochée. ';
    }
    

    Je réponds directement en ligne sans tester le code car je n'ai rien sous la main, donc il se peut qu'il y ait des erreurs. Il faut aussi formater le contenu du mail avec des retours chariots pour pas avoir toutes les réponses sur une ligne.
    Mais bon tu as en gros ici la réponse à ta question

    Consultant PluXml

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

  • Pour ajouter un petit détail qui tue lorsqu'on ne connait pas : un checkbox décoché n'est PAS renvoyé dans le $_POST. Ainsi, on n'a que les checkbox cochés (pour savoir si un checkbox est décoché, il faut vérifier qu'il n'est pas dans la liste des $_POST... C'est super bizarre).
    C'est ainsi que la boucle proposée par Stéphane n'affiche que les checkbox cochés.
  • @Gzyg : Je connais bien openclassrooms pour y avoir passer des heures parfois à apprendre ... :P

    @Stéphane : Super, ça fonctionnel nickel !!! Comme d'habitude, merci à toi pour ta disponibilité et ta gentillesse ! Pour ce qui est de formater le texte, ça je sais faire, donc je vais me débrouiller ! ;)

    @Gari : merci à toi pour cette précision ! :)
  • Hello,
    Je viens d'installer le plugin avec les petites modifications qui vont bien.
    C'est parfait tout est ok.
    J'aurais aimé faire une petite modification concernant le texte qui s'affiche à la réception de l'émail

    Je reçois ceci :

    contenu du message - Choix supplémentaire = Autre demande

    et j'aurais aimé avoie ça :

    contenu du message
    Choix supplémentaire = Autre demande


    je ne sais pas comment faire, l'endroit à modifier, je suis nul en php.

    Merci de votre aide
Connectez-vous ou Inscrivez-vous pour répondre.