Utilisation de votre formulaire php

Chers coopérateurs,

Je suis une grand-mère allemande habitant près de Genève, en France voisine et qui vient de prende en charge comme bénévole le site de l’association genevoise de randonnée: www.geneverando.ch

Je vous demande très poliment un coup de main concernant un formulaire php ofert par gentilesse d’Ouvaton sur ce site: http://www.globenet.org/Formulaire-d-envoi-de-mail-en.html

GenèveRando cherche depuis longtemps une possibilité pour que nos nouveaux adhérés puissent s’envoyer une copie de leur demande d’adhésion à eux mémes. Le tarif chez notre hébergeur incluyant php, on ne nous offre pas d’aide pour écrire notre formulaire.

Le formulaire mis gentilment à disposition par Ouvaton marche parfaitement bien sur notre site: http://www.geneverando.ch/contact/fichier.php
Mais celui que j’ai essayé d’adapter à nos besoins ne s’affiche même pas: http://www.geneverando.ch/contact/adhesion.php
En plus, il y faudrait ajouter quelques radio buttons comme suit:

Cotisation par année civile :
input type =radio name=coti value=35 checked>individuelle (35.-) input type =radio name=coti value =60 couple (60.-)

Programme papier :
input type =radio name=prog value=oui checked envoi souhaité input type =radio name=prog value=non inutile

Nouvelles par email :
input type =radio name=prog value=oui checked je souhaite recevoir des informations par email input type =radio name=prog value=non merci

Comment avez-vous connu GenèveRando ? input type =“text” name=“comment”

Remarques:
input type =“text” name=“remarque”

Est-ce que quelqu’un serait si gentil de donner un coup de main pour la rédaction de mon formulaire php? Le nouveau formulaire doit apparaître comme ça: http://www.geneverando.ch/contact/formulaire_adhesion.html

Ce serait vraiment une très grande aide pour notre association qui marche depuis 40 ans sous forme bénévole dans le canton de Genève. Si un jour quelqu’un d’entre vous souhaite nous joindre pour une randonnée guidée soit en Suisse ou en France voisine, je vous invite à consulter notre programme :
http://www.geneverando.ch/index.html

Hello,

Je vois que le formulaire de Nico est toujours bien utilisé :wink: . On pourrait faire un formulaire d’adhésion du genre:

<!--
 ***************************************************************************
 *   (C) http://www.ouvaton.coop                                           *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************
 -->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html lang="fr">

    <head>
    <title>Formulaire d'envoi de mail</title>
    <meta http-equiv="Content-type" content="application/xhtml+xml; charset=utf-8" />
    </head>

    <body>
        <?
        /* configuration du script d'envoi */
        $nom_du_site = "Mon site" ; // utilisé lors de l'envoi de la copie du message
        $to = "adresse@domain.tld" ; // obligatoire : email du destinataire - contact du site
        $copie_a_expediteur = 0 ; // mettre 1 si on veut envoyer une copie du message à l'expéditeur / visiteur du site
        $copie_au_webmaster = 0 ; // mettre 1 si on veut faire un Cc au webmaster du site - souvent utile pour débugger au départ ou si on veut être au courant des messages qui transitent via le site
        $mail_webmaster = "adressewebmaster@domaine.tld" ; // mettre adresse du webmaster pour envoi du Cc
        /* fin de la config */

        // tests de sécurité si le formulaire a été envoyé
        if (isset($_POST'send']) ){
            $secure = true ;
            $from = $_POST'from'] ;
            //tests des adresses mail expéditeur, destinataire et webmaster
            if(!preg_match('/^[A-Z0-9._-]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z.]{2,10}$/i',$from)) {
                echo('Adresse de courriel invalide <br />') ;
                $secure = false ;
            }
            if(!preg_match('/^[A-Z0-9._-]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z.]{2,10}$/i',$mail_webmaster)) {
                echo('Adresse de courriel invalide <br />');
                $secure = false ;
            }
            if(!preg_match('/^[A-Z0-9._-]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z.]{2,10}$/i',$to)) {
                echo('Adresse de courriel invalide <br />');
                $secure = false ;
            }
            // test des saisies obligatoires
            if ( !$from ) {
                echo('Exp&eacute;diteur obligatoire<br />');
                $secure = false ;
            }
        }

        if ( !$secure ){
        // Si le formulaire n'a pas été envoyé ou n'est pas sécure, on l'affiche
        ?>

        <form action="" method="post">
            <p></p>
            <fieldset>
                    <legend style="margin-bottom: 5px;">Je désire adhérer (<strong>*</strong> champs obligatoires)</legend>
                    <p style="float: left;">
                        <label for="nom">Nom :</label>
                        <br />
                        <input id="nom" name="nom" type="text"
                        value="<? if ($_POST'nom']) echo $_POST'nom']?>" />
                        <br />
                        <label for="prenom">Prénom :</label>
                        <br />
                        <input id="prenom" name="prenom" type="text"
                        value="<? if ($_POST'prenom']) echo $_POST'prenom']?>" />
                        <br /><br />
                        <label for="from">Adresse de courriel<strong>*</strong> : </label>
                        <br />
                        <input id="from" name="from" type="text"
                        value="<? if ($_POST'from']) echo $_POST'from']?>" />
			<br />
                        <label for="poste">Adresse postale :</label>
                        <br />
			<textarea id="poste" name="poste" cols="30" rows="3"><?
                        if ($_POST'poste'])
                            echo $_POST'poste'] ;
                        else echo "Votre adresse postale..." ;
                        ?></textarea>
                    </p>
                    <p style="margin-left: 50%;">
                        <label for="coti">Cotisation<strong>*</strong> :</label>
                        <br />
                        <input name="coti" type="radio" value="individuelle" checked="checked" /> Individuelle (35.-)<br />
			<input name="coti" type="radio" value="couple" /> Couple (55.-)
                        <br />
                        <label for="programme">J'aimerais recevoir le programme<strong>*</strong> :</label>
                        <br />
                        <input name="programme" type="radio" value="courriel" checked="checked" /> Par courriel<br />
			<input name="programme" type="radio" value="poste" /> Par la poste
			<br /><br />
                        <label for="connu">Comment avez-vous connu Genève<em>Rando</em> ?</label>
                        <br />
                        <input id="connu" name="connu" type="text"
                        value="<? if ($_POST'connu']) echo $_POST'connu']?>" />
			<br />
                        <label for="txtmsg">Remarques :</label>
                        <br />
                        <textarea id="txtmsg" name="txtmsg" cols="30" rows="3"><?
                        if ($_POST'txtmsg'])
                            echo $_POST'txtmsg'] ;
                        else echo "Votre message..." ;
                        ?></textarea>
                        <br /><br />
                        <input value="Envoyer" name="send" type="submit" />
                    </p>
                </fieldset>
        </form>

        <?
        }
        else{
            // Si c'est ok - secure et données
            // on concatène le texte du message
            $message = "Demande d'adhésion :\n\n" ;
	    if ($_POST'nom'] || $_POST'prenom']) { $message .= "Nom : ".$_POST'nom']." Prénom : ".$_POST'prenom']."\n" ; }
	    $message .= "Courriel : ".$_POST'from']."\n" ;
	    if ($_POST'poste']) { $message .= "Adresse :\n".$_POST'poste']."\n" ; }
	    $message .= "Cotisation : ".$_POST'coti']."\n" ;
	    $message .= "Programme à envoyer par : ".$_POST'programme']."\n" ;
	    if ($_POST'connu']) { $message .= "Connu GenèveRando : ".$_POST'connu']."\n" ; }
	    $message .= "Remarques :\n".$_POST'txtmsg']."\n" ;
            // création du header du message
            $headers = "From: ".$from."\n" ;
            $headers.= "Reply-To: ".$from."\n" ;
            $headers.= "X-Mailer: PHP/".phpversion()."\n" ;
	    $headers.= "Content-Type: text/plain; charset='utf-8'";
            // Cc au webmaster si choix activé
            if ( $copie_au_webmaster == 1 ) {
                $headers.= "Cc: $mail_webmaster\n" ;
            }
            // On envoi le mail :
            if ( mail($to,"Adhesion GeneveRando",stripslashes($message),$headers) ){
                // Si le mail a bien été envoyé, message de confirmation
                echo "Votre mail a bien &eacute;t&eacute; envoy&eacute;.<br />";
            }
            else{
                // sinon, message d'erreur.
                echo "Votre mail n'a pas pu &ecirc;tre envoy&eacute;.<br />";
            }
            // envoi d'une copie à l'expéditeur si option choisie
            if ( $copie_a_expediteur == 1 ) {
                $message = "Copie du mail envoyé sur le site ".$nom_du_site."\n\n". $message ;
                $headers = "From: ".$to."\n" ;
                $headers.= "X-Mailer: PHP/".phpversion()."\n" ;
		$headers.= "Content-Type: text/plain; charset='utf-8'";
                $sujet = "Copie de : ". $_POST'sujet'] ;
                if ( mail($from,"Adhesion GeneveRando",stripslashes($message),$headers) ){
                    // Si le mail a bien été envoyé, message de confirmation
                    echo "Vous allez recevoir une copie du mail envoy&eacute;.<br />";
                }
                else{
                    // sinon, message d'erreur.
                    echo "Erreur lors de l'envoi de la copie.<br />";
                }
            }
        }
        ?>
        <p>
            <a href="http://validator.w3.org/check?uri=referer">
            <img style="border:0px;" src="http://www.w3.org/Icons/valid-xhtml10"
            alt="Valid XHTML 1.0 Strict" height="31" width="88" />
            </a>
        </p>
    </body>
</html>

À tester et améliorer si besoin :slight_smile: .

Coop,
Greg

Salut Greg,

Merci, merci beaucoup!
C’est magnifique, et ça marche: http://www.geneverando.ch/contact/adhesion.php
J’ai reçu le mail envoyé par le site et j’en ai reçu une copie. C’est vraiment parfait et juste ce que nous voulions faire depuis des années! :slight_smile:

Maintenant j’aimerais que cette page soit du même layout que l’ancien bulletin, d’accord avec le layout de notre site. Ce formulaire se trouve ici:
http://www.geneverando.ch/contact/formulaire_adhesion.html
J’avais déjà essayé de “mélanger” votre formulaire avec le mien, mais je n’y suis pas arrivée. :frowning:

Serait-il possible?

La partie d’envoi de ce formulaire est celle-ci actuellement:

Vous souhaitez nous rejoindre ?

Remplissez simplement le formulaire ci-dessous.

Civilit&eacute: Monsieur Madame Madame et Monsieur
Prénom(s):*
Nom:*
Rue:*    No.* 
NPA/Commune:*
Pays: Suisse France
Téléphone:
E-Mail:*
Cotisation par année civile : individuelle CHF 35.-    couple CHF 60.-
Programme papier : envoi souhaité    inutile
Nouvelles par email : je souhaite recevoir des informations par email
non, merci
Comment avez-vous connu GenèveRando ?
Remarques:
*) Champs obligatoires  
   

Complément
J’ai ajouté ces lignes concernant la lettre d’info en copiant et adaptant la case juste dessus correspondant au programme:

J’aimerais recevoir les nouvelles par courriel* :


envoi souhaité

inutile


mais je ne suis pas sûre comment ajouter ça aussi dans la partie plus bas, pareil à cette ligne:
$message .= “Programme à envoyer par : “.$_POST’programme’].”\n” ;

Pour le moment, cette case ne marche donc pas quand je teste le formulaire.

Je te contacte en privé…

Phénoménal! Notre formulaire marche. :slight_smile: :slight_smile: :slight_smile:
Un très grand merci au nom de GenèveRando.

Excellente journée vous souhaite
une berlinoise du bord du lac Léman…