IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Envoi de données de formulaire ne fonctionne plus


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 15
    Points : 4
    Points
    4
    Par défaut Envoi de données de formulaire ne fonctionne plus
    Bonjour,

    Il semble que suite à une mise à jour de php mon formulaire n'envoie plus les données sur notre mail.

    J'étais venue vous voir pour ce formulaire en 2011 et avais suivi ce tuto

    Je suis clown de métier et code notre site depuis 2003, mais je ne code pas tous les jours et je redeviens débutante à chaque changement et mise à jour.

    Et là je sèche, car en plus je refais notre site pour le rendre responsive ....

    Voici le code du formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    <h1>Pour avoir des renseignements merci de remplir TOUS les champs : </h1>
    <h3 align="center">Si dans les 48 heures après l'envoi du formulaire vous n'avez pas de nos nouvelles<br />
    N'hésitez pas à nous contacter par tel au 02.41.93.07.22</h3>
    <?php
    $reCaptcha = new ReCaptcha($secret);
    if(isset($_POST["g-recaptcha-response"])) {
        $resp = $reCaptcha->verifyResponse(
            $_SERVER["REMOTE_ADDR"],
            $_POST["g-recaptcha-response"]
            );
        if ($resp != null && $resp->success) {echo "CAPTCHA OK";}
        else {echo "CAPTCHA incorrect";}
        }
    ?>
    <p>&nbsp;</p>
       <form id="contact" method="post" action="send_email.php">
    	<fieldset>
    <legend>Vos coordonnées</legend> <!-- Titre du fieldset -->
    <p>&nbsp;</p>
    <p><label for="organisation">Organisateur :<br />
    Association, CE, Comité des fêtes, Centre de Loisirs, APE, Particulier, etc ...</label>
      <br /><input type="text" name="organisation" size="50" tabindex="10"/></p>
    <p><label for="civilite">Civilité :</label>
            <select name="civilite">
                <option value="mr" selected="selected">Monsieur</option>
                <option value="mme">Madame</option>
            </select></p>
    <p>
      <label for="nom">Nom - pr&eacute;nom : </label>
      <br /><input type="text" name="nom" size="40" tabindex="50" /></p>
    <p><label for="email">Email :</label><br /><input type="text" id="email" name="email" size="40" tabindex="60" /></p>
    <p>
      <label for="tel">T&eacute;l&eacute;phone :</label><br />
    <input type="text" name="tel" size="40" maxlength="15" tabindex="70" /></p>
    <p><input type="radio" name="horaires" value="HB" id="HB" tabindex="80" /> <label for="HB">Aux heures de bureau</label>
    <input type="radio" name="horaires" value="HR" id="HR" tabindex="90" /> <label for="HR">Aux heures de repas</label></p>
    <p><label for="adresse">Num&eacute;ro et rue :</label><br /><input type="text" name="adresse" size="40" tabindex="100"/></p>
    <p><label for="CP">Code postal :</label><br /><input type="text" name="CP" size="40" tabindex="110" /></p>
    <p><label for="ville">Ville :</label><br /><input type="text" name="ville" size="40" tabindex="120" /></p>
    <p>&nbsp;</p>
    </fieldset>
    <fieldset><legend>Votre projet</legend> 
      <!-- Titre du fieldset --></p>
      <p><input type="checkbox" name="option" value="spectacle" tabindex="130" /> <label for="spectacle">Un spectacle de clowns</label><br />
    <input type="checkbox" name="option" value="fete-familliale" tabindex="140" /> <label for="fete-familliale">Une fête familiale</label><br />
    <input type="checkbox" name="option" value="animation-commerciale" tabindex="150" /> <label for="animation-commerciale">Une animation commerciale</label><br />
    <input type="checkbox" name="option" value="autre" tabindex="160" /> <label for="autre">Autre événement</label></p>
    <p>&nbsp;</p>
    <p>
      <label for="precision">Pr&eacute;cisions (Jours et heures pour vous appeler, date et heures du spectacle, etc ...)  :</label>
      <br />
    <textarea name="precision" rows="8" cols="50" tabindex="170"></textarea></p><br />
    <p>Lieu du spectacle/animation :</p>
    <p><input type="radio" name="lieu" value="en_interieur" id="en_interieur" tabindex="180" /> <label for="en_interieur">En intérieur</label><br />
    <input type="radio" name="lieu" value="en_exterieur" id="en_exterieur" tabindex="190" /> <label for="en_exterieur">En extérieur</label></p>
    <p>&nbsp;</p>
    <div class="g-recaptcha" data-sitekey="<?php echo $siteKey; ?>"></div>
    </fieldset>
    <p><input type="submit" name="submit" value="Envoyer le formulaire" tabindex="200" /> <input type="reset" value="Effacer" tabindex="210" /></p>
    </form>
     
    		<!-- Fin du formulaire -->
    et voici le code pour récupération et envoi des données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    <?php
    	/*
    		********************************************************************************************
    		CONFIGURATION du fichier
    		********************************************************************************************
    	*/
    	// destinataire : NOUS !
    	$destinataire = "webmaster@clowns-rectoverso.com";
     
    	// Messages de confirmation du mail
    	$message_envoye = "<h1>MERCI !</h1>
    					<p>&nbsp;</p>
    					<h2>Votre formulaire a bien &eacute;t&eacute; envoy&eacute; !</h2>
        				<p>&nbsp;</p> 
          				<h3>Vous aurez tr&egrave;s prochainement des nouvelles des clowns f&eacute;minins 		Recto-Verso </h3>";
    	$message_non_envoye = "D&eacute;sol&eacute;es l'envoi du mail a &eacute;chou&eacute;, veuillez r&eacute;essayer SVP.";
     
    	// Messages d'erreur du formulaire
    	$message_erreur_formulaire = "Merci <a href=\"Demande_de_renseignements.php\">d'envoyer le formulaire</a>.";
    	$msg_formulaire_invalide = "Il y a une erreur dans votre formulaire<br /><br />
    	Merci de v&eacute;rifier :<br /><br />
    	 - que tous les champs sont bien remplis<br />
    	 - que l'email est sans erreur<br />
    	 - qu'il n'y a pas d'erreur dans votre num&eacute;ro de t&eacute;l&eacute;pnone.<br /><br />
    	  Cliquez sur la fl&egrave;che verte de PAGE PRECEDENTE de votre navigateur (IE, Firefox, etc...)<br />
    	  De cette mani&egrave;re vous ne perdrez pas les informations d&eacute;j&agrave; rentr&eacute;es.</a>";
     
    	/*
    		********************************************************************************************
    		FIN DE LA CONFIGURATION
    		********************************************************************************************
    	*/
     
    	// on teste si le formulaire a été soumis
    	if (!isset($_POST['submit']))
    	{
    		// formulaire non envoyé
    		echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
    	}
    	else
    	{
    		/* cette fonction sert à nettoyer et enregistrer un texte */
    		function Rec($text)
    		{
    			$text = trim($text); // delete white spaces after & before text
    			if (1 === get_magic_quotes_gpc())
    			{
    				$stripslashes = create_function('$txt', 'return stripslashes($txt);');
    			}
    			else
    			{
    				$stripslashes = create_function('$txt', 'return $txt;');
    			}
     
    			// magic quotes ?
    			$text = $stripslashes($text);
    			$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
    			$text = nl2br($text);
    			return $text;
    		};
     
    		/* Cette fonction sert à vérifier la syntaxe d'un email */
    		function IsEmail($email)
    		{
    			$pattern = "/^[-a-z0-9!#$%&\'*+\/=?^_`{|}~]+(\.[-a-z0-9!#$%&\'*+\/=?^_`{|}~]+)*@(([a-z0-9]([-a-z0-9]*[a-z0-9]+)?){1,63}\.)+([a-z0-9]([-a-z0-9]*[a-z0-9]+)?){2,63}$/i";
    			return (preg_match($pattern,$email)) ? true : false;
    		};
     
    		/* Cette fonction sert à vérifier la syntaxe d'un numéro de téléphone */
    		function IsTel($tel)
    		{
    			$pattern = "/^0[1-68]([-. ]?[0-9]{2}){4}$/";
    			return (preg_match($pattern,$tel)) ? true : false;
    		};
     
    		// formulaire envoyé, on récupère tous les champs.
    		$organisation   = (isset($_POST['organisation']))   ? Rec($_POST['organisation'])   : '';
    		$civilite	    = (isset($_POST['civilite']))   	? Rec($_POST['civilite'])   	: '';
    		$nom     		= (isset($_POST['nom']))     		? Rec($_POST['nom'])     		: '';
    		$email   		= (isset($_POST['email']))   		? Rec($_POST['email'])   		: '';
    		$tel   			= (isset($_POST['tel']))   			? Rec($_POST['tel'])   			: '';
    		$horaires   	= (isset($_POST['horaires']))   	? Rec($_POST['horaires'])   	: '';
    		$adresse   		= (isset($_POST['adresse']))   		? Rec($_POST['adresse'])   		: '';
    		$CP  			= (isset($_POST['CP']))   			? Rec($_POST['CP'])   			: '';
    		$ville  		= (isset($_POST['ville']))   		? Rec($_POST['ville'])   		: '';
    		$option  		= (isset($_POST['option']))   		? Rec($_POST['option'])   		: '';
    		$precision   	= (isset($_POST['precision']))   	? Rec($_POST['precision'])   	: '';
    		$lieu 			= (isset($_POST['lieu'])) 			? Rec($_POST['lieu']) 			: '';
     
    		// On va vérifier les variables et l'email ...
    		$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
     
    		// On va vérifier les variables et l'email ...
    		$tel = (IsTel($tel)) ? $tel : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
     
    		if (($organisation != '') && ($civilite != '') && ($nom != '') && ($email != '') && ($tel != '') && ($horaires != '') && ($adresse != '') && ($CP != '') && ($ville != '') && ($option != '') && ($precision != '') && ($lieu != ''))
    		{
    	// toutes les variables sont remplies, on génère puis envoie le mail
     
    		/* Objet du mail  */
          	$objet = 'demande renseignements';
     
            /* Contenu du message */
            $msg  = 'Bonjour,'."\r\n\r\n";
            $msg .= 'cette demande de renseignements nous arrive depuis clowns-rectoverso.com par '.			$civilite.' '.$nom."\r\n\r\n";
            $msg .= 'Pour une demande de renseignements  pour :'."\r\n\r\n";
    		$msg .= $civilite." ";
    		$msg .= $nom."\r\n\r\n";
    		$msg .= $email."\r\n\r\n";
    		$msg .= $organisation."\r\n\r\n";
    		$msg .= $tel." aux ";
    		$msg .= $horaires."\r\n\r\n";
    		$msg .= $adresse."\r\n";
    		$msg .= $CP."  ";
    		$msg .= $ville."\r\n\r\n";
    		$msg .= $option."\r\n\r\n";
    		$msg .= $lieu."\r\n\r\n";
            $msg .= $precision."\r\n";
     
             /* En-têtes de l'e-mail */
    		$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
    		$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
         	$headers .='Content-Transfer-Encoding: 8bit'; 
     
    			// Remplacement de certains caractères spéciaux
    			$msg = str_replace("'","'",$msg);
    			$msg = str_replace("’","'",$msg);
    			$msg = str_replace("&quot;",'"',$msg);
    			$msg = str_replace('<br>','',$msg);
    			$msg = str_replace('<br />','',$msg);
    			$msg = str_replace("&lt;","<",$msg);
    			$msg = str_replace("&gt;",">",$msg);
    			$msg = str_replace("&amp;","&",$msg);
     
     
     
     
     
    			// Envoi du mail
    			if (mail( $destinataire, $objet, $msg, $headers))
    				{
    				echo '<p>'.$message_envoye.'</p>'."\n";
    			}
    			else
    			{
    				echo '<p>'.$message_non_envoye.'</p>'."\n";
    			};
    		}
    		else
    		{
    			// une des variables (ou plus) est vide ...
    			echo '<p>'.$msg_formulaire_invalide.'</p>'."\n";
    		};
    	}; // fin du if (!isset($_POST['envoi']))
    ?>
    et voici le message d'erreur qu'il renvoie :

    Il y a une erreur dans votre formulaire

    Merci de vérifier :

    - que tous les champs sont bien remplis
    - que l'email est sans erreur
    - qu'il n'y a pas d'erreur dans votre numéro de télépnone.

    Cliquez sur la flèche verte de PAGE PRECEDENTE de votre navigateur (IE, Firefox, etc...)
    De cette manière vous ne perdrez pas les informations déjà rentrées.
    Ce sont nos clients qui nous ont informé de ce problème que je ne parviens pas à régler.

    Merci à vous si vous pouvez m'aider

    Verso49

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- L'envoi n'est pas en cause, puisqu'on passe dans le else avec $msg_formulaire_invalide.

    2- TOUT est faux ou obsolète (HTML, PHP, conception,...):
    • magic quotes : obsolète
    • isEmail : on utilise filter_var() -> filter_var( $email, FILTER_VALIDATE_EMAIL)
    • isTel : pattern fausse. Perso, je ne mettrais pas de filtre
    • <label for="xxx"...> se rapporte à un id : <input id="xxx"..../>
    • Email : <input type="email"..../>
    • "Cliquez sur la flèche verte de PAGE PRECEDENTE..." :

      A LIRE : PRINCIPE de TRAITEMENT et FORMULAIRE sur la même page
    • vérifie aussi si le script de CAPTCHA est encore d'actualité
    • ...

    Et la liste est encore longue...

    Il faut tout reprendre à zéro.
    Dernière modification par Invité ; 18/06/2018 à 11h55.

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Ttu as un message d'erreur générique pour tous les champs. Du coup, il est difficile de savoir sur quoi ça coince. Cela dit, je parierais soit sur le mail, soit sur le téléphone, vu que tu as des regex pour les valider. En l'occurrence, la regex du téléphone n'autorise pas les numéros de téléphone en 07xxxxxxxx.
    Si on t'a remonté les problèmes, tu as sans doute le numéro de téléphone et l'email des gens qui ont rencontrés l'erreur. Teste les regex dans un outil comme https://regex101.com/ avec les valeurs fournies par tes clients.

    Sinon, comme l'indique jreaux, ton code est devenu quelque peu obsolète.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Invité
    Invité(e)
    Par défaut
    Voilà à quoi ça pourrait ressembler, AVEC FORMULAIRE et TRAITEMENT sur la même page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    <?php 
    // -----------------
    // FONCTIONS utiles
    /* cette fonction sert à nettoyer et enregistrer un texte */
    function Rec($text)
    {
    	$text = trim($text); // delete white spaces after & before text
    	$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
    	return $text;
    };
    /* Cette fonction sert à vérifier la syntaxe d'un email */
    function IsEmail($email)
    {
    	return (!empty(filter_var( $email, FILTER_VALIDATE_EMAIL))); // true ou false
    };
     
    /* Cette fonction sert à vérifier la syntaxe d'un numéro de téléphone */
    function IsTel($tel)
    {
    	$pattern = "/^[+]?[0-9. \/]{6,20}$/"; // tél de la forme (6 à 20 caractères): +33 1 23 45 67 89 ou 0123456789 ou 01 23 45 67 89 ou 01.23.45.67.89 ou 01/23/45/67/89...
    	return (preg_match($pattern,$tel)); // true ou false
    };
    // -----------------
    // INITIALISATION ou récupération des données
    	// formulaire envoyé, on récupère tous les champs.
    	$organisation   = (isset($_POST['organisation']))   ? Rec($_POST['organisation'])   : '';
    	$civilite	    = (isset($_POST['civilite']))   	? Rec($_POST['civilite'])   	: '';
    	$nom     		= (isset($_POST['nom']))     		? Rec($_POST['nom'])     		: '';
    	$email   		= (isset($_POST['email']))   		? Rec($_POST['email'])   		: '';
    	$tel   			= (isset($_POST['tel']))   			? Rec($_POST['tel'])   			: '';
    	$horaires   	= (isset($_POST['horaires']))   	? Rec($_POST['horaires'])   	: '';
    	$adresse   		= (isset($_POST['adresse']))   		? Rec($_POST['adresse'])   		: '';
    	$CP  			= (isset($_POST['CP']))   			? Rec($_POST['CP'])   			: '';
    	$ville  		= (isset($_POST['ville']))   		? Rec($_POST['ville'])   		: '';
    	$option  		= (isset($_POST['option']))   		? Rec($_POST['option'])   		: '';
    	$precision   	= (isset($_POST['precision']))   	? Rec($_POST['precision'])   	: '';
    	$lieu 			= (isset($_POST['lieu'])) 			? Rec($_POST['lieu']) 			: '';
    // -----------------
    // TRAITEMENT du formulaire (INCLUS)
    	$valid_form = 0;
    // on teste si le formulaire a été soumis
    if( isset($_POST['submit']) )
    {
    	include(__DIR__.'/send_email.php'); // (TRAITEMENT INCLUS)
    }
     
    // -----------------
    // (ré-)AFFICHAGE du FORMULAIRE
    if( $valid_form !=1 )
    {
    	// CAPTCHA
    	$reCaptcha = new ReCaptcha($secret);
    ?>
    <h2>Formulaire de contact</h2
    <h3 align="center">Si dans les 48 heures après l'envoi du formulaire vous n'avez pas de nos nouvelles<br />
    N'hésitez pas à nous contacter par tel au 02.41.93.07.22</h3>
    <p>&nbsp;</p>
    <p style="blue">Pour avoir des renseignements merci de remplir TOUS les champs : </p>
    <form id="contact" method="post" action="">
    	<fieldset>
    		<legend>Vos coordonnées</legend>
    		<p>&nbsp;</p>
    		<p>
    			<label for="idorganisation">Organisateur :<br />
    			Association, CE, Comité des fêtes, Centre de Loisirs, APE, Particulier, etc ...</label>
    			<br /><input type="text" id="idorganisation" name="organisation" value="<?php echo $organisation; ?>" size="50" tabindex="10"/>
    		</p>
    		<p>
    			<label for="idcivilite">Civilité :</label>
    			<select id="idcivilite" name="civilite">
    				<option value="mr" <?php if($civilite=='mr'){ echo ' selected="selected"'; } ?>>Monsieur</option>
    				<option value="mme" <?php if($civilite=='mme'){ echo ' selected="selected"'; } ?>>Madame</option>
    			</select>
    		</p>
    		<p>
    			<label for="idnom">Nom - prénom : </label>
    			<br /><input type="text" id="idnom" name="nom" value="<?php echo $nom; ?>" size="40" tabindex="50" /></p>
    		<p>
    			<label for="idemail">Email :</label><br />
    			<input type="email" id="idemail" name="email" value="<?php echo $email; ?>" size="40" tabindex="60" />
    		</p>
    		<p>
    			<label for="idtel">Téléphone :</label><br />
    			<input type="text" name="tel" value="<?php echo $tel; ?>" size="40" maxlength="15" tabindex="70" />
    		</p>
    		<p>
    			<input type="radio" name="horaires" value="HB" id="idHB" tabindex="80" <?php if($horaires=='HB'){ echo ' checked="checked"'; } ?> /> <label for="idHB">Aux heures de bureau</label>
    			<input type="radio" name="horaires" value="HR" id="idHR" tabindex="90" <?php if($horaires=='HR'){ echo ' checked="checked"'; } ?> /> <label for="idHR">Aux heures de repas</label>
    		</p>
    		<p>
    			<label for="adresse">Numéro et rue :</label><br />
    			<input type="text" name="adresse" value="<?php echo $adresse; ?>" size="40" tabindex="100"/>
    		</p>
    		<p>
    			<label for="CP">Code postal :</label><br />
    			<input type="text" name="CP" value="<?php echo $CP; ?>" size="40" tabindex="110" />
    		</p>
    		<p>
    			<label for="ville">Ville :</label><br />
    			<input type="text" name="ville" value="<?php echo $ville; ?>" size="40" tabindex="120" />
    		</p>
    		<p>&nbsp;</p>
    	</fieldset>
    	<fieldset>
    		<legend>Votre projet</legend> 
    		<!-- Titre du fieldset --></p>
    		<p>
    			<input type="checkbox" name="option" id="idspectacle" value="spectacle" <?php if($option=='spectacle'){ echo ' checked="checked"'; } ?> tabindex="130" /> <label for="idspectacle">Un spectacle de clowns</label><br />
    			<input type="checkbox" name="option" id="idfete" value="fete-familliale" <?php if($option=='fete-familliale'){ echo ' checked="checked"'; } ?> tabindex="140" /> <label for="idfete">Une fête familiale</label><br />
    			<input type="checkbox" name="option" id="idanimation" value="animation-commerciale" <?php if($option=='animation-commerciale'){ echo ' checked="checked"'; } ?> tabindex="150" /> <label for="idanimation">Une animation commerciale</label><br />
    			<input type="checkbox" name="option" id="idautre" value="autre" <?php if($option=='autre'){ echo ' checked="checked"'; } ?> tabindex="160" /> <label for="idautre">Autre événement</label>
    		</p>
    		<p>&nbsp;</p>
    		<p>
    			<label for="precision">Précisions (Jours et heures pour vous appeler, date et heures du spectacle, etc ...)  :</label>
    			<br />
    			<textarea name="precision" rows="8" cols="50" tabindex="170"></textarea>
    		</p>
    		<p>Lieu du spectacle/animation :</p>
    		<p>
    			<input type="radio" name="lieu" value="en_interieur" id="iden_interieur" <?php if($lieu=='en_interieur'){ echo ' checked="checked"'; } ?> tabindex="180" /> <label for="iden_interieur">En intérieur</label><br />
    			<input type="radio" name="lieu" value="en_exterieur" id="iden_exterieur" <?php if($lieu=='en_exterieur'){ echo ' checked="checked"'; } ?> tabindex="190" /> <label for="iden_exterieur">En extérieur</label>
    		</p>
    		<p>&nbsp;</p>
    <!--		<div class="g-recaptcha" data-sitekey="<?php //echo $siteKey; ?>"></div>	-->
    	</fieldset>
    	<p>
    		<input type="submit" name="submit" value="Envoyer le formulaire" tabindex="200" /> <input type="reset" value="Effacer" tabindex="210" />
    	</p>
    </form>
    <!-- Fin du formulaire -->
    <?php
    	}
    ?>
    send_email.php : (TRAITEMENT INCLUS)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    <?php
    // -----------------
    // TRAITEMENT du FORMULAIRE
    // on teste si le formulaire a été soumis
    if (isset($_POST['submit']))
    {
    	/*
    		*************************************************
    		1- CONFIGURATION du fichier
    		*************************************************
    	*/
    	// destinataire : NOUS !
    	$destinataire = "webmaster@clowns-rectoverso.com";
     
    	// Messages de confirmation du mail
    	$message_envoye = "<h1>MERCI !</h1>
    					<p>&nbsp;</p>
    					<h2>Votre formulaire a bien &eacute;t&eacute; envoy&eacute; !</h2>
        				<p>&nbsp;</p> 
          				<h3>Vous aurez tr&egrave;s prochainement des nouvelles des clowns f&eacute;minins 		Recto-Verso </h3>";
    	$message_non_envoye = "D&eacute;sol&eacute;es l'envoi du mail a &eacute;chou&eacute;, veuillez r&eacute;essayer SVP.";
     
    	// Messages d'erreur du formulaire
    	$msg_formulaire_invalide = "Il y a une erreur dans votre formulaire :<br />";
     
    	/*
    		*************************************************
    		2- GESTION d'ERREUR
    		*************************************************
    	*/
    //	var_dump( $_POST ); // en TEST
     
    	// ------------- 
    	// champs obligatoires (TOUS !)
    	if ( empty($organisation) 
    		|| empty($civilite) 
    		|| empty($nom) 
    		|| empty($email) 
    		|| empty($tel) 
    		|| empty($horaires) 
    		|| empty($adresse) 
    		|| empty($CP) 
    		|| empty($ville) 
    		|| empty($option) 
    		|| empty($precision) 
    		|| empty($lieu)
    	){
    		$valid_form = 2;	// ERREUR
    		$msg_formulaire_invalide .= '- Remplissez tous les champs obligatoires<br />';
    	}
    	// ------------- 
    	// On vérifie l'email ...
    	if( !empty($email) && !IsEmail($email) ) // soit l'email est vide si erroné, soit il vaut l'email entré
    	{
    		$valid_form = 2;	// ERREUR
    		$msg_formulaire_invalide .= '- Email invalide<br />';
    	}
    	// ------------- 
    	// On vérifie le tél ...
    	if( !empty($tel) && !IsTel($tel) ) // soit l'email est vide si erroné, soit il vaut l'email entré
    	{
    		$valid_form = 2;	// ERREUR
    		$msg_formulaire_invalide .= '- Numéro de téléphone invalide<br />';
    	}
    	// ------------- 
    	// captcha
    	if(isset($_POST["g-recaptcha-response"])) 
    	{
    		$resp = $reCaptcha->verifyResponse(
    			$_SERVER["REMOTE_ADDR"],
    			$_POST["g-recaptcha-response"]
    		);
    		if ( !($resp != null && $resp->success) )
    		{
    			$valid_form = 2;	// ERREUR
    			$msg_formulaire_invalide .= '- CAPTCHA incorrect<br />';
    		}
    	} else {
    			$valid_form = 2;	// ERREUR
    			$msg_formulaire_invalide .= '- CAPTCHA incorrect<br />';
    	}
    	// ------------- 
    	if ( $valid_form != 2 ) // si PAS d'erreur
    	{
    		$valid_form = 1;	// OK
    	}
     
    	/*
    		*************************************************
    		3- ENVOI : on génère puis envoie le mail
    		*************************************************
    	*/
    	// OK ? ENVOI
    	if ( $valid_form == 1 ) // si PAS d'erreur
    	{
     
    		/* Objet du mail  */
          	$objet = 'demande renseignements';
     
            /* Contenu du message */
            $msg  = 'Bonjour,'."\r\n\r\n";
            $msg .= 'cette demande de renseignements nous arrive depuis clowns-rectoverso.com par '.			$civilite.' '.$nom."\r\n\r\n";
            $msg .= 'Pour une demande de renseignements  pour :'."\r\n\r\n";
    		$msg .= $civilite." ";
    		$msg .= $nom."\r\n\r\n";
    		$msg .= $email."\r\n\r\n";
    		$msg .= $organisation."\r\n\r\n";
    		$msg .= $tel." aux ";
    		$msg .= $horaires."\r\n\r\n";
    		$msg .= $adresse."\r\n";
    		$msg .= $CP."  ";
    		$msg .= $ville."\r\n\r\n";
    		$msg .= $option."\r\n\r\n";
    		$msg .= $lieu."\r\n\r\n";
            $msg .= $precision."\r\n";
     
             /* En-têtes de l'e-mail */
    		$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
    		$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
    		$headers .='Content-Transfer-Encoding: 8bit'; 
     
    //	echo '<pre>'.$msg.'</pre>'; // en TEST
     
    			// Envoi du mail
    			if (mail( $destinataire, $objet, $msg, $headers) )
    			{
    				echo '<p>'.$message_envoye.'</p>'."\n";
    			}
    			else
    			{
    				echo '<p>'.$message_non_envoye.'</p>'."\n";
    			};
    	}
    	else
    	{
    		$valid_form = 2;	// ERREUR
    		// une des variables (ou plus) est vide ...
    		$msg_formulaire_invalide .= '<br /><b>Merci de corriger.</b>';
    		echo '<p style="color:red;">'.$msg_formulaire_invalide.'</p>'."\n";
    	};
    } // fin TRAITEMENT

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Merci pour vos réponses.

    Celira : oui oui mon codage est obsolète Et j'avoue avoir beaucoup de mal à me remettre dedans.

    jreaux62 : merci, j'avais commencé à tout mettre sur 1 page, je regarde tout cela et j reviens vous dire la suite.

    Encore Merci, Verso49

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Voici la nouvelle mouture de notre formulaire avec (je l'espère !) remise à niveau :

    Notre page Demande_de_renseignements-2018.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    <?php 
    // -----------------
    // FONCTIONS utiles
    /* cette fonction sert à nettoyer et enregistrer un texte */
    function Rec($text)
    {
    	$text = trim($text); // delete white spaces after & before text
    	$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
    	return $text;
    };
    /* Cette fonction sert à vérifier la syntaxe d'un email */
    function IsEmail($email)
    {
    	return (!empty(filter_var( $email, FILTER_VALIDATE_EMAIL))); // true ou false
    };
     
    /* Cette fonction sert à vérifier la syntaxe d'un numéro de téléphone */
    function IsTel($tel)
    {
    	$pattern = "/^[+]?[0-9. \/]{6,20}$/"; // tél de la forme (6 à 20 caractères): +33 1 23 45 67 89 ou 0123456789 ou 01 23 45 67 89 ou 01.23.45.67.89 ou 01/23/45/67/89...
    	return (preg_match($pattern,$tel)); // true ou false
    };
    // -----------------
    // INITIALISATION ou récupération des données
    	// formulaire envoyé, on récupère tous les champs.
    	$organisateur   = (isset($_POST['organisateur']))   ? Rec($_POST['organisateur'])   : '';
    	$civilite	    = (isset($_POST['civilite']))   	? Rec($_POST['civilite'])   	: '';
    	$nom     		= (isset($_POST['nom']))     		? Rec($_POST['nom'])     		: '';
    	$email   		= (isset($_POST['email']))   		? Rec($_POST['email'])   		: '';
    	$tel   			= (isset($_POST['tel']))   			? Rec($_POST['tel'])   			: '';
    	$horaires   	= (isset($_POST['horaires']))   	? Rec($_POST['horaires'])   	: '';
    	$cp 			= (isset($_POST['cp']))   			? Rec($_POST['cp'])   			: '';
    	$ville  		= (isset($_POST['ville']))   		? Rec($_POST['ville'])   		: '';
    	$option  		= (isset($_POST['option']))   		? Rec($_POST['option'])   		: '';
    	$precision   	= (isset($_POST['precision']))   	? Rec($_POST['precision'])   	: '';
     
    // -----------------
    // TRAITEMENT du formulaire (INCLUS)
    	$valid_form = 0;
    // on teste si le formulaire a été soumis
    if( isset($_POST['submit']) )
    {
    	include(__DIR__.'/send_email-2018.php'); // (TRAITEMENT INCLUS)
    }
     
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Contactez les clowns Recto-Verso, des clowns au féminin...</title>
      <link rel="stylesheet" href="RV-2017.css" />
      <script src="https://www.clowns-rectoverso.com/jquery.min.js"></script>
      <script src="js/responsiveslides.min.js"></script>
      <script>
        // You can also use "$(window).load(function() {"
        $(function () {
     
          // Slideshow 4
          $("#slider4").responsiveSlides({
            auto: true,
            pager: false,
            nav: true,
            speed: 500,
            namespace: "callbacks",
            before: function () {
              $('.events').append("<li>before event fired.</li>");
            },
            after: function () {
              $('.events').append("<li>after event fired.</li>");
            }
          });
     
        });
      </script>
    </head>
    <body>
    <!-- Début corps de la page-->
    	<!-- Entête et menu -->
    	<div class="row">
        	<div class="col">  
    			<div id="header">
       				<a href="file:///C|/Recto-Verso-2017/index.html"><img src="file:///C|/Recto-Verso-2017/images/site/logo.png" alt="Les clowns Recto-Verso" class="style-logo" title="Les clowns Recto-Verso"/></a>
    				<div class="base-line"><h2>des clowns au f&eacute;minin...</h2>
      				</div>
       	 <!--menu--> 
            		<nav class="style-nav">
        				<ul>
    						<li ><a href="file:///C|/Recto-Verso-2017/spectacles.html">Spectacles</a></li>
    						<li><a href="https://www.clowns-rectoverso.com/sculptures-sur-ballon.html">Sculptures </a></li>
                			<li><a href="file:///C|/RV/maquillages.php">Maquillages</a></li>
    						<li><a href="#">F&Ecirc;tes familiales</a></li>
                			<li><a href="#">Animations commerciales</a></li>
                			<li><a href="file:///C|/RV/Sanstitre-2.php">Animations sportives</a></li>
                            <li><a href="file:///C|/RV/Sanstitre-2.php">Blog</a></li>
                			<li><a href="file:///C|/Recto-Verso-2017/Demande_de_renseignements-2018.php">Contact</a></li>        
          				</ul>
    				</nav>
     	 	<!-- fin menu -->              
    			</div> 
    		</div>
       </div> 
    <!-- fin Entête et menu --> 
     <h3>Pour avoir des renseignements merci de remplir TOUS les champs : </h3>
    <h4 align="center">Si dans les 48 heures après l'envoi du formulaire vous n'avez pas de nos nouvelles<br />
    N'hésitez pas à nous contacter par tel au 02.41.93.07.22</h4>
     
       <!-- début formulaire -->
    <div class="row">
    	<div class="col col-md-one-half col-lg-one-third">
      <form id="contact" method="POST" action="">
    	<div class="container">
        		<div class="row">
          			<div class="col-26">
            <label for="nom">Nom et Prénom*</label>
          			</div>
         			<div class="col-74">
            <input type="text" id="nom" name="nom" placeholder="Vos nom et prénom" required="required" value="<?php echo $nom; ?>"/><br />
          			</div>
        		</div>
        		<div class="row">
          			<div class="col-26">
            <label for="civilite">Civilité*</label>
         			</div>
          			<div class="col-74">
    <input type="radio" name="civilite" value="madame" id="madame" <?php if($civilite=='madame'){ echo ' checked="checked"'; } ?>  /> <label for="madame">Madame</label>
     
    <input type="radio" name="civilite" value="monsieur" id="monsieur" <?php if($civilite=='monsieur'){ echo ' checked="checked"'; } ?>  /> <label for="monsieur">Monsieur</label>
            <br />
          			</div>
        		</div>
        		<div class="row">
          			<div class="col-26">
            <label for="organisateur">Organisateur*</label>
          			</div>
          			<div class="col-74">
            <input type="text" id="organisateur" name="organisateur" placeholder="Asso, CE, Comité des fêtes, Centre de Loisirs, APE, Particulier...
    " required="required" value="<?php echo $organisateur; ?>"/> <br />
          			</div> 
        		</div>
                <div class="row">
          			<div class="col-26">
            <label for="cp">Code postal*</label>
          			</div>
         			<div class="col-74">
            <input type="text" id="cp" name="cp" placeholder="Votre code postal" required="required" value="<?php echo $cp; ?>"/></div>
            	<div class="row">
            		<div class="col-26">
            <label for="ville"> Ville*</label>
          			</div>
         			<div class="col-74">
            <input type="text" id="ville" name="ville" placeholder="Votre ville" required="required" value="<?php echo $ville; ?>"/>
            <br />
          			</div>
        		</div>
        		<div class="row">
          			<div class="col-26">
            <label for="email">Email*</label>
          			</div>
          			<div class="col-74">
            <input type="email" id="email" name="email" placeholder="Votre email" required="required" value="<?php echo $email; ?>"/><br />
          			</div>
        		</div>
        		<div class="row">
          			<div class="col-26">
            <label for="tel">Téléphone*</label>
          			</div>
          			<div class="col-74">
            <input type="tel" id="tel" name="tel" placeholder="Votre téléphone" required="required" value="<?php echo $tel; ?>"/><br />
          			</div>
                 </div>   
                 <div class="row">   
          			<div class="col-26">
            <label for="horaires">Vos horaires</label>
          			</div>
          			<div class="col-74">
    <input type="radio" name="horaires" value="hr" id="hr" <?php if($horaires=='hr'){ echo ' checked="checked"'; } ?>  /> <label for="hr">Heures de repas</label>
     
    <input type="radio" name="horaires" value="hb" id="hb" <?php if($horaires=='hb'){ echo ' checked="checked"'; } ?>  /> <label for="hb">Heures de bureau</label>
    				</div>
        		</div>
    		</div>
    	</div>
    </div>
      	<div class="col col-md-one-half col-lg-two-third">
    		<div class="container">
        		<div class="row">
          			<div class="col-26">
            <label for="projet">Votre Projet*</label>
          			</div>
          			<div class="col-74">
            <input type="checkbox" name="option" id="spectacle" <?php if($option=='spectacle'){ echo ' checked="checked"'; } ?> />
            	<label for="spectacle">Un spectacle de clowns</label><br />
    		<input type="checkbox" name="option" id="fete-familiale" <?php if($option=='fete-familiale'){ echo ' checked="checked"'; } ?> />
            	<label for="fete-familiale">Une fête familiale</label><br />
    		<input type="checkbox" name="option" id="animation-commerciale" <?php if($option=='animation-commerciale'){ echo ' checked="checked"'; } ?> />
            	<label for="animation-commerciale">Une animation commerciale</label><br />
                <input type="checkbox" name="option" id="animation-sportive" <?php if($option=='animation-sportive'){ echo ' checked="checked"'; } ?> />
            	<label for="animation-sportive">Une animation sportive</label><br />
    		<input type="checkbox" name="option" id="autre" <?php if($option=='autre'){ echo ' checked="checked"'; } ?> />
            	<label for="autre">Autre événement</label><br />
          			</div>
    	</div>
        		<div class="row">
          			<div class="col-26">
            <label for="precision">Précisions</label>
          			</div>
          			<div class="col-74">
            <textarea id="precision" name="precision" placeholder="Jours et heures pour vous appeler, date et heures du spectacle, etc ..." style="height:130px"></textarea>
          			</div>
        		</div>
        		<div class="row">
          <br /><input type="submit" name"envoi" value="Valider" required="required" />
        		</div>
              </div>
           </div>   
      </form>
     
      <!-- fin du formulaire -->
     
    <div class="col col-md-one-half col-lg-three-third">
    		<div class="container">
            <h5>BLOG</h5><br />
                    <p>Toutes catégories</p>
    		</div>
    	</div>
     
    <!-- Footer -->
    <div id="footer">
        	<p><a href="file:///C|/Recto-Verso-2017/mentions-legales.html">Mentions légales</a> &bull; <a href="#">Plan du site</a> &bull; <a  href="file:///C|/Recto-Verso-2017/contact.html">Contact</a><br /><a href="#">&copy; Les clowns f&eacute;minins Recto-Verso -2003/2018</a> &bull; <a href="#">Revenir en haut</a></p>
    </div>
    </div></body>
    </html>
    Et le fichier send_email-2018-2.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Contactez les clowns Recto-Verso, des clowns au féminin...</title>
      <link rel="stylesheet" href="file:///C|/wamp/www/RV-2017/RV-2017.css" />
      <script src="https://www.clowns-rectoverso.com/jquery.min.js"></script>
      <script src="file:///C|/wamp/www/RV-2017/js/responsiveslides.min.js"></script>
      <script>
        // You can also use "$(window).load(function() {"
        $(function () {
     
          // Slideshow 4
          $("#slider4").responsiveSlides({
            auto: true,
            pager: false,
            nav: true,
            speed: 500,
            namespace: "callbacks",
            before: function () {
              $('.events').append("<li>before event fired.</li>");
            },
            after: function () {
              $('.events').append("<li>after event fired.</li>");
            }
          });
     
        });
      </script>
    </head>
    <body>
    <!-- Début corps de la page-->
    	<!-- Entête et menu -->
    	<div class="row">
        	<div class="col">  
    			<div id="header">
       				<a href="index.html"><img src="file:///C|/Recto-Verso-2017/images/site/logo.png" alt="Les clowns Recto-Verso" class="style-logo" title="Les clowns Recto-Verso"/></a>
    				<div class="base-line"><h2>des clowns au f&eacute;minin...</h2>
      				</div>
       	 <!--menu--> 
            		<nav class="style-nav">
        				<ul>
    						<li ><a href="spectacles.html">Spectacles</a></li>
    						<li><a href="https://www.clowns-rectoverso.com/sculptures-sur-ballon.html">Sculptures </a></li>
                			<li><a href="file:///C|/RV/maquillages.php">Maquillages</a></li>
    						<li><a href="#">F&Ecirc;tes familiales</a></li>
                			<li><a href="#">Animations commerciales</a></li>
                			<li><a href="file:///C|/RV/Sanstitre-2.php">Animations sportives</a></li>
                            <li><a href="file:///C|/RV/Sanstitre-2.php">Blog</a></li>
                			<li><a href="Demande_de_renseignements-2018.php">Contact</a></li>        
          				</ul>
    				</nav>
     	 	<!-- fin menu -->              
    			</div> 
    		</div>
    	<!-- fin Entête et menu -->
       </div> 
      <!-- Début corps de la page-->
    <?php
    // -----------------
    // TRAITEMENT du FORMULAIRE
    // on teste si le formulaire a été soumis
    if (isset($_POST['submit']))
    {
    	/*
    		*************************************************
    		1- CONFIGURATION du fichier
    		*************************************************
    	*/
    	// destinataire : NOUS !
    	$destinataire = "blablabla@wanadoo.fr";
     
    	// Messages de confirmation du mail
    	$message_envoye = "<h1>MERCI !</h1>
    					<p>&nbsp;</p>
    					<h2>Merco, votre formulaire a bien &eacute;t&eacute; envoy&eacute; !</h2>
        				<p>&nbsp;</p> 
          				<h3>Vous aurez tr&egrave;s prochainement des nouvelles des clowns f&eacute;minins Recto-Verso </h3>";
    	$message_non_envoye = "D&eacute;sol&eacute;es l'envoi du mail a &eacute;chou&eacute;, veuillez r&eacute;essayer SVP.";
     
    	// Messages d'erreur du formulaire
    	$msg_formulaire_invalide = "Il y a une erreur dans votre formulaire :<br />";
     
    	/*
    		*************************************************
    		2- GESTION d'ERREUR
    		*************************************************
    	*/
    //	var_dump( $_POST ); // en TEST
     
    	// ------------- 
    	// champs obligatoires (TOUS !)
    	if ( empty($organisateur) 
    		|| empty($civilite) 
    		|| empty($nom) 
    		|| empty($email) 
    		|| empty($tel) 
    		|| empty($horaires)  
    		|| empty($CP) 
    		|| empty($ville) 
    		|| empty($option) 
    		|| empty($precision) 
    	){
    		$valid_form = 2;	// ERREUR
    		$msg_formulaire_invalide .= '- Remplissez tous les champs obligatoires, merci.<br />';
    	}
    	// ------------- 
    	// On vérifie l'email ...
    	if( !empty($email) && !IsEmail($email) ) // soit l'email est vide si erroné, soit il vaut l'email entré
    	{
    		$valid_form = 2;	// ERREUR
    		$msg_formulaire_invalide .= '- Email invalide<br />';
    	}
    	// ------------- 
    	// On vérifie le tél ...
    	if( !empty($tel) && !IsTel($tel) ) // soit l'email est vide si erroné, soit il vaut l'email entré
    	{
    		$valid_form = 2;	// ERREUR
    		$msg_formulaire_invalide .= '- Numéro de téléphone invalide<br />';
    	}
    	// ------------- 
    	// captcha
    	if(isset($_POST["g-recaptcha-response"])) 
    	{
    		$resp = $reCaptcha->verifyResponse(
    			$_SERVER["REMOTE_ADDR"],
    			$_POST["g-recaptcha-response"]
    		);
    		if ( !($resp != null && $resp->success) )
    		{
    			$valid_form = 2;	// ERREUR
    			$msg_formulaire_invalide .= '- CAPTCHA incorrect<br />';
    		}
    	} else {
    			$valid_form = 2;	// ERREUR
    			$msg_formulaire_invalide .= '- CAPTCHA incorrect<br />';
    	}
    	// ------------- 
    	if ( $valid_form != 2 ) // si PAS d'erreur
    	{
    		$valid_form = 1;	// OK
    	}
     
    	/*
    		*************************************************
    		3- ENVOI : on génère puis envoie le mail
    		*************************************************
    	*/
    	// OK ? ENVOI
    	if ( $valid_form == 1 ) // si PAS d'erreur
    	{
     
    		/* Objet du mail  */
          	$objet = 'demande renseignements';
     
            /* Contenu du message */
            $msg  = 'Bonjour,'."\r\n\r\n";
            $msg .= 'cette demande de renseignements nous arrive depuis clowns-rectoverso.com par '.			$civilite.' '.$nom."\r\n\r\n";
            $msg .= 'Pour une demande de renseignements  pour :'."\r\n\r\n";
    		$msg .= $civilite." ";
    		$msg .= $nom."\r\n\r\n";
    		$msg .= $email."\r\n\r\n";
    		$msg .= $organisateur."\r\n\r\n";
    		$msg .= $tel." aux ";
    		$msg .= $horaires."\r\n\r\n";
    		$msg .= $CP."  ";
    		$msg .= $ville."\r\n\r\n";
    		$msg .= $option."\r\n\r\n";
            $msg .= $precision."\r\n";
     
             /* En-têtes de l'e-mail */
    		$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
    		$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
    		$headers .='Content-Transfer-Encoding: 8bit'; 
     
    //	echo '<pre>'.$msg.'</pre>'; // en TEST
     
    			// Envoi du mail
    			if (mail( $destinataire, $objet, $msg, $headers) )
    			{
    				echo '<p>'.$message_envoye.'</p>'."\n";
    			}
    			else
    			{
    				echo '<p>'.$message_non_envoye.'</p>'."\n";
    			};
    	}
    	else
    	{
    		$valid_form = 2;	// ERREUR
    		// une des variables (ou plus) est vide ...
    		$msg_formulaire_invalide .= '<br /><b>Merci de corriger.</b>';
    		echo '<p style="color:red;">'.$msg_formulaire_invalide.'</p>'."\n";
    	};
    } // fin TRAITEMENT
    ?>
     <!-- Footer -->
    <div id="footer">
        	<p><a href="mentions-legales.html">Mentions légales</a> &bull; <a href="#">Plan du site</a> &bull; <a  href="contact.html">Contact</a><br /><a href="#">&copy; Les clowns f&eacute;minins Recto-Verso -2003/2018</a> &bull; <a href="#">Revenir en haut</a></p>
    </div>
    </body>
    </html>
    Cela me renvoie (en test wamp) cette erreur :

    ( ! )SCREAM: Error suppression ignored for
    ( ! ) Fatal error: Can't use function return value in write context in C:\wamp\www\RV-2017\Demande_de_renseignements-2018.php on line 14

    Et ce avant même d'avoir pu accéder au formulaire.

    Par contre chez mon hébergeur après avoir validé le formulaire je reviens à la page formulaire sans avoir reçu le mail et sans retour d'erreur.


    Voilà mes cogitations du WE !

    Merci à vous, Verso49

  7. #7
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Bizarre...
    A tout hasard, enlève les ';' après les accolades de tes fonctions... C'est peut-être ça qui lui fait croire que tu es dans un contexte d'écriture ? Pas sûre du tout.

    Après test, ton code passe chez moi sur mon wamp en php7.

    Ton wamp serait-il inférieur à PHP 5.2.0 ?
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- pour l'erreur, remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	return (!empty(filter_var( $email, FILTER_VALIDATE_EMAIL)));
    Par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	$test = filter_var( $email, FILTER_VALIDATE_EMAIL );
        return (!empty($test));

    Avant PHP 5.5, la fonction empty() ne supportait que les variables ;
    tout autre type retournait une erreur d'analyse.
    En d'autres termes, ce qui suit ne fonctionnait pas : empty(trim($name))...
    Donc, les ; après } sont innocents et ta version de PHP est coupable.

    2-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	include(__DIR__.'/send_email-2018.php'); // (TRAITEMENT INCLUS)
    send_email-xxxxxx.php : ce fichier est INCLUS dans l'autre.

    Par conséquent, c'est comme si ils ne forment qu'un seul est même script.
    On ne remet pas de balises HTML dedans.

    L'exemple que j'ai fourni pour send_email.php est COMPLET.


    3-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //	var_dump( $_POST ); // en TEST
    • dé-commente les lignes "test"
    • mets des echo, pour vérifier dans quel if ou else passe le code.
    • Et teste aussi avec des valeurs fausses, ou champs vide, pour vérifier que la gestion d'erreurs fonctionne.



    4- dans l'autre fichier (principal) :




    5- Enfin (?), pour l'envoi de mail, je te conseille d'utiliser phpMailer
    Mais ça, c'est quand ton script fonctionnera....
    Dernière modification par Invité ; 24/06/2018 à 12h13.

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    Bonjour

    Merci pour votre aide si précieuse.

    Dendrite : Je viens de mettre à jour les version de wamp et de php de mon hébergeur , du coup la version php du wamp que j'utilise est 5.6.17, impossible de passer en php7 car je suis sous win 32bits
    Pour mon hébergeur je suis aussi en php 5.6, je n'ai pas installé le php7 car notre site est entièrement en php "obsolète" et ne serait
    sans doute plus très accessible .... Je vais attendre de l'avoir entièrement refait.



    jreaux62 :


    Citation Envoyé par jreaux62 Voir le message
    Bonjour,

    1- pour l'erreur, remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        return (!empty(filter_var( $email, FILTER_VALIDATE_EMAIL)));
    Par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        $test = filter_var( $email, FILTER_VALIDATE_EMAIL );
        return (!empty($test));
    - Fait et je n'ai plus l'erreur qui s'affiche.





    Donc, les ; après } sont innocents et ta version de PHP est coupable.

    - J'ai mis à jour les versions de wamp et chez mon héberger comme dis à Dendrite

    2-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        include(__DIR__.'/send_email-2018.php'); // (TRAITEMENT INCLUS)
    send_email-xxxxxx.php : ce fichier est INCLUS dans l'autre.

    Par conséquent, c'est comme si ils ne forment qu'un seul est même script.
    On ne remet pas de balises HTML dedans.

    L'exemple que j'ai fourni pour send_email.php est COMPLET.

    - Bien compris j'ai retiré les balises html.

    3-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //    var_dump( $_POST ); // en TEST
    • dé-commente les lignes "test"
    • mets des echo, pour vérifier dans quel if ou else passe le code.
    • Et teste aussi avec des valeurs fausses, ou champs vide, pour vérifier que la gestion d'erreurs fonctionne.


    - Pas encore eu le temps de regarder et tester comme tu le demande, je vois cela ce soir


    4- dans l'autre fichier (principal) :



    - Ok pour la structure html, je vais rependre ça !
    - Les liens URLs sont effectivement en local car je change constamment de fichiers (wamp/hebergeur)et oui je remettrai tout ces liens bien en place à la fin !


    5- Enfin (?), pour l'envoi de mail, je te conseille d'utiliser phpMailer
    Mais ça, c'est quand ton script fonctionnera....
    - Je ne connais pas, je vais regarder cela aussi. Merci.



    Résultat des dernières modif apportées, je n'ai plus de message d'erreur ni sous wamp, ni chez mon hébergeur. Par contre lorsque je valide mon formulaire, je ne reçois aucun message
    sur mon mail. Ni par wamp, ni par mon hébergeur.

    Encore merci pour votre aide à toutes et tous, je reviendrais vous faire part de la suite...

    Verso49

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 15
    Points : 4
    Points
    4
    Par défaut


    Coucou me revoilà !
    Après de nombreuses péripéties !

    Bon revenons à notre formulaire.

    Je me suis rendue compte que j'avais modifié le formulaire sans vous en donner la nouvelle version, la voici :

    Page : demande_de_renseignements-2018-2.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    <?php 
    // -----------------
    // FONCTIONS utiles
    /* cette fonction sert à nettoyer et enregistrer un texte */
    function Rec($text)
    {
    	$text = trim($text); // delete white spaces after & before text
    	$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
    	return $text;
    };
    /* Cette fonction sert à vérifier la syntaxe d'un email */
    function IsEmail($email)
    {
    	$test = filter_var( $email, FILTER_VALIDATE_EMAIL );
        return (!empty($test));
    };
     
    /* Cette fonction sert à vérifier la syntaxe d'un numéro de téléphone */
    function IsTel($tel)
    {
    	$pattern = "/^[+]?[0-9. \/]{6,20}$/"; // tél de la forme (6 à 20 caractères): +33 1 23 45 67 89 ou 0123456789 ou 01 23 45 67 89 ou 01.23.45.67.89 ou 01/23/45/67/89...
    	return (preg_match($pattern,$tel)); // true ou false
    };
    // -----------------
    // INITIALISATION ou récupération des données
    	// formulaire envoyé, on récupère tous les champs.
    	$organisateur   = (isset($_POST['organisateur']))   ? Rec($_POST['organisateur'])   : '';
    	$civilite	    = (isset($_POST['civilite']))   	? Rec($_POST['civilite'])   	: '';
    	$nom     		= (isset($_POST['nom']))     		? Rec($_POST['nom'])     		: '';
    	$email   		= (isset($_POST['email']))   		? Rec($_POST['email'])   		: '';
    	$tel   			= (isset($_POST['tel']))   			? Rec($_POST['tel'])   			: '';
    	$horaires   	= (isset($_POST['horaires']))   	? Rec($_POST['horaires'])   	: '';
    	$cp 			= (isset($_POST['cp']))   			? Rec($_POST['cp'])   			: '';
    	$ville  		= (isset($_POST['ville']))   		? Rec($_POST['ville'])   		: '';
    	$option  		= (isset($_POST['option']))   		? Rec($_POST['option'])   		: '';
    	$precision   	= (isset($_POST['precision']))   	? Rec($_POST['precision'])   	: '';
     
    // -----------------
    // TRAITEMENT du formulaire (INCLUS)
    	$valid_form = 0;
    // on teste si le formulaire a été soumis
    if( isset($_POST['submit']) )
    {
    	include(__DIR__.'/send_email-2018-2.php'); // (TRAITEMENT INCLUS)
    }
     
    ?>
    <!doctype html>
    <html lang="fr">
    <head>
        <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Contactez les clowns Recto-Verso, des clowns au féminin...</title>
      <link rel="stylesheet" href="RV-2017.css"/>
      <script src="https://www.clowns-rectoverso.com/jquery.min.js"></script>
      <script src="file:///C|/wamp/www/RV-2018/js/responsiveslides.min.js"></script>
      <script>
        // You can also use "$(window).load(function() {"
        $(function () {
     
          // Slideshow 4
          $("#slider4").responsiveSlides({
            auto: true,
            pager: false,
            nav: true,
            speed: 500,
            namespace: "callbacks",
            before: function () {
              $('.events').append("<li>before event fired.</li>");
            },
            after: function () {
              $('.events').append("<li>after event fired.</li>");
            }
          });
     
        });
      </script>
    </head>
    <body>
    <!-- Début corps de la page-->
    	<!-- Entête et menu -->
    	<div class="row">
        	<div class="col">  
    			<header>
       				<a href="index-2017.html"><img src="images/accueil/logo.png" alt="Les clowns Recto-Verso" class="style-logo" title="Les clowns Recto-Verso"/></a>
    				<div class="base-line"><h2>des clowns au f&eacute;minin...</h2>
      				</div>
       	 <!--menu--> 
            		<nav class="style-nav">
        				<ul>
    						<li ><a href="file:///C|/Recto-Verso-2017/spectacles.html">Spectacles</a></li>
    						<li><a href="https://www.clowns-rectoverso.com/sculptures-sur-ballon.html">Sculptures </a></li>
                			<li><a href="file:///C|/RV/maquillages.php">Maquillages</a></li>
    						<li><a href="#">F&Ecirc;tes familiales</a></li>
                			<li><a href="#">Animations commerciales</a></li>
                			<li><a href="file:///C|/RV/Sanstitre-2.php">Animations sportives</a></li>
                            <li><a href="file:///C|/RV/Sanstitre-2.php">Blog</a></li>
                			<li><a href="Demande_de_renseignements-2018.html">Contact</a></li>        
          				</ul>
    				</nav>
     	 	<!-- fin menu --> 
              </header>        
    	  </div> 
    </div>
    <!-- fin Entête et menu -->
    <h3>Pour avoir des renseignements merci de remplir TOUS les champs : </h3>
    <h4 align="center">Si dans les 48 heures après l'envoi du formulaire vous n'avez pas de nos nouvelles<br />
    N'hésitez pas à nous contacter par tel au 02.41.93.07.22 ou au 06.07.58.10.90</h4>
    <p align="center">.</p>
     
    <!-- début formulaire -->
       <section>
    <div class="row">
    	<div class="col col-md-one-half col-lg-one-third">
      <form  method="POST" target= "" action="send_email-2018-2.php">
    		<div class="container">
        		<div class="row">
          			<div class="col-26">
            <label for="nom">Nom et Prénom*</label>
          			</div>
         			<div class="col-74">
            <input type="text" id="nom" name="nom" placeholder="Vos nom et prénom" required /><br />
          			</div>
        		</div>
        		<div class="row">
          			<div class="col-26">
            <label for="civilite">Civilité*</label>
         			</div>
          			<div class="col-74">
    <input type="radio" name="civilite" value="madame" id="madame" /> <label for="madame">Madame</label>
     
    <input type="radio" name="civilite" value="monsieur" id="monsieur" /> <label for="monsieur">Monsieur</label>
            <br />
          			</div>
        		</div>
        		<div class="row">
          			<div class="col-26">
            <label for="organisateur">Organisateur*</label>
          			</div>
          			<div class="col-74">
            <input type="text" id="organisateur" name="organisateur" placeholder="Asso, CE, Comité des fêtes, Centre de Loisirs, APE, Particulier...
    " required /><br />
          			</div> 
        		</div>
                <div class="row">
          			<div class="col-26">
            <label for="cp">Code postal*</label>
          			</div>
         			<div class="col-74">
            <input type="text" id="cp" name="cp" placeholder="Votre code postal" required /></div>
            	<div class="row">
            		<div class="col-26">
            <label for="ville"> Ville*</label>
          			</div>
         			<div class="col-74">
            <input type="text" id="ville" name="ville" placeholder="Votre ville" required />
            <br />
          			</div>
        		</div>
        		<div class="row">
          			<div class="col-26">
            <label for="email">Email*</label>
          			</div>
          			<div class="col-74">
            <input type="email" id="email" name="email" placeholder="Votre email" required /><br />
          			</div>
        		</div>
        		<div class="row">
          			<div class="col-26">
            <label for="tel">Téléphone*</label>
          			</div>
          			<div class="col-74">
            <input type="tel" id="tel" name="tel" placeholder="Votre téléphone" required /><br />
          			</div>
                 </div>   
                 <div class="row">   
          			<div class="col-26">
            <label for="horaires">Vos horaires</label>
          			</div>
          			<div class="col-74">
    <input type="radio" name="horaires" value="hr" id="hr" /> <label for="hr">Heures de repas</label>
     
    <input type="radio" name="horaires" value="hb" id="hb" /> <label for="hb">Heures de bureau</label>
    				</div>
        		</div>
    		</div>
    	</div>
    </div>
      	<div class="col col-md-one-half col-lg-two-third">
    		<div class="container">
        		<div class="row">
          			<div class="col-26">
            <label for="projet">Votre Projet*</label>
          			</div>
          			<div class="col-74">
            <input type="checkbox" name="option" id="spectacle" />
            	<label for="spectacle">Un spectacle de clowns</label><br />
    		<input type="checkbox" name="option" id="fete-familliale"/>
            	<label for="fete-familliale">Une fête familiale</label><br />
    		<input type="checkbox" name="option" id="animation-commerciale" />
            	<label for="animation-commerciale">Une animation commerciale</label><br />
    		<input type="checkbox" name="option" id="autre" />
            	<label for="autre">Autre événement</label><br />
          			</div>
    	</div>
        		<div class="row">
          			<div class="col-26">
            <label for="precision">Précisions</label>
          			</div>
          			<div class="col-74">
            <textarea id="precision" name="precision" placeholder="Jours et heures pour vous appeler, date et heures du spectacle, etc ..." style="height:150px" required></textarea>
          			</div>
        		</div>
        		<div class="row">
          <br /><br /><input type="submit" name="submit" value="Valider" required />
        		</div>
          </div>
        </div>   
      </form>
     
      <!-- fin du formulaire -->
     
    <div class="col col-md-one-half col-lg-three-third">
    		<div class="container">
            <h5>BLOG</h5><br />
                    <p>Toutes catégories</p>
    		</div>
    	</div>
    </section>
    <!-- Footer -->    	<p><a href="file:///C|/Recto-Verso-2017/mentions-legales.html">Mentions légales</a> &bull; <a href="#">Plan du site</a> &bull; <a  href="file:///C|/Recto-Verso-2017/contact.html">Contact</a><br /><a href="#">&copy; Les clowns f&eacute;minins Recto-Verso -2003/2018</a> &bull; <a href="#">Revenir en haut</a></p>
    </div>
    </div></body>
    </html>
    Et voici la page send_email-2018-2.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
     
    <?php
    // TRAITEMENT du FORMULAIRE
    // on teste si le formulaire a été soumis
     
    if (isset($_POST['submit']))
    {
     
    	/*
    		*************************************************
    		1- CONFIGURATION du fichier
    		*************************************************
    	*/
     
    	// destinataire : NOUS !
    	$destinataire = "Verso49@wanadoo.fr";
     
    	// Message de confirmation du mail
    	$message_envoye = "<h1>MERCI !</h1>
    					<p>&nbsp;</p>
    					<h2>Votre formulaire a bien &eacute;t&eacute; envoy&eacute; !</h2>
        				<p>&nbsp;</p> 
          				<h3>Vous aurez tr&egrave;s prochainement des nouvelles des clowns f&eacute;minins Recto-Verso </h3>";
     
    	// Message de non envoi du mail									
    	$message_non_envoye = "D&eacute;sol&eacute;es l'envoi du mail a &eacute;chou&eacute;, veuillez r&eacute;essayer SVP.";
     
    	// Messages d'erreur du formulaire
    	$msg_formulaire_invalide = "Il y a une erreur dans votre formulaire :<br />";
     
    	/*
    		*************************************************
    		2- GESTION d'ERREUR
    		*************************************************
    	*/
    	//	var_dump( $_POST ); // en TEST
     
    	if ( empty($organisateur) 
    		|| empty($civilite) 
    		|| empty($nom) 
    		|| empty($email) 
    		|| empty($tel) 
    		|| empty($horaires)  
    		|| empty($CP) 
    		|| empty($ville) 
    		|| empty($option) 
    		|| empty($precision) 
    	){
    		$valid_form = 2;	
    		$msg_formulaire_invalide .= '- Remplissez tous les champs obligatoires, merci.<br />';
    	}
     
    	// Vérifie la validité de l'email
     
    	if( !empty($email) && !IsEmail($email) ) 
    	{
    		$valid_form = 2;	
    		$msg_formulaire_invalide .= '- Email invalide<br />';
    	}
     
    	// Vérifie la validité du tel
     
    	if( !empty($tel) && !IsTel($tel) ) 
    	{
    		$valid_form = 2;	
    		$msg_formulaire_invalide .= '- Numéro de téléphone invalide<br />';
    	}	
     
    	/*
    		*************************************************
    		3- ENVOI : on génère puis envoie le mail
    		*************************************************
    	*/
    	// OK ? ENVOI
    	if ( $valid_form == 1 ) // si PAS d'erreur
    	{
     
    		// Objet du mail  //
          	$objet = 'demande renseignements';
     
            // Contenu du message //
            $msg  = 'Bonjour,'."\r\n\r\n";
            $msg .= 'cette demande de renseignements nous arrive depuis clowns-rectoverso.com par '. $civilite.' '.$nom."\r\n\r\n";
            $msg .= 'Pour une demande de renseignements  pour :'."\r\n\r\n";
    		$msg .= $civilite." ";
    		$msg .= $nom."\r\n\r\n";
    		$msg .= $email."\r\n\r\n";
    		$msg .= $organisateur."\r\n\r\n";
    		$msg .= $tel." aux ";
    		$msg .= $horaires."\r\n\r\n";
    		$msg .= $cp."  ";
    		$msg .= $ville."\r\n\r\n";
    		$msg .= $option."\r\n\r\n";
            $msg .= $precision."\r\n";
     
             // En-têtes de l'e-mail //
    		$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
    		$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
    		$headers .='Content-Transfer-Encoding: 8bit'; 
     
    //	echo '<pre>'.$msg.'</pre>'; // en TEST
     
    			// Envoi du mail
    			if (mail( $destinataire, $objet, $msg, $headers) )
    			{
    				echo '<p>'.$message_envoye.'</p>'."\n";
    			}
    			else
    			{
    				echo '<p>'.$message_non_envoye.'</p>'."\n";
    			};
    	}
    	else
    	{
    		$valid_form = 2;	// ERREUR
    		// une des variables (ou plus) est vide ...
    		$msg_formulaire_invalide .= '<br /><b>Merci de corriger.</b>';
    		echo '<p style="color:red;">'.$msg_formulaire_invalide.'</p>'."\n";
    	};
    } // fin TRAITEMENT du formulaire
    ?>

    Lorsque je complète le formulaire ici
    j'ai bien les message d'erreurs si je valide sans avoir tout bien rempli.
    Mais quand le formulaire est bien complété et validé j'arrive sur la page d'erreur :

    Il y a une erreur dans votre formulaire :
    - Remplissez tous les champs obligatoires, merci.

    Merci de corriger.
    texte que l'on trouve aux lignes 29 et 50 de send_email-2018-2.php.

    Et là je ne sais plus ou mettre des echo pour vérifier dans quel if ou else passe le code.

    Je sais c'est les vacances pour toutes et tous, mais au cas où vous passeriez dans le coin si vous pouviez me
    guider....
    Je vous remercie par avance, Verso49

  11. #11
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Attention à la casse !

    $CP est différent de $cp.

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    Arfff ! j'avais pourtant vérifié plusieurs fois ! Il m'a échappé le vilain !!!

    Pour les echo j'ai mis ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    /*
    		*************************************************
    		2- GESTION d'ERREUR
    		*************************************************
    	*/
    	//	var_dump( $_POST ); // en TEST
     
    	if ( empty($organisateur) 
    		|| empty($civilite) 
    		|| empty($nom) 
    		|| empty($email) 
    		|| empty($tel) 
    		|| empty($horaires)  
    		|| empty($cp) 
    		|| empty($ville) 
    		|| empty($option) 
    		|| empty($precision) 
    	)
    	{
            echo 'hello '.$_POST['organisateur'].'</br>';
            echo $_POST['civilite'].'</br>';
            echo $_POST['nom'].'</br>';
            echo $_POST['email'].'</br>';
    		echo $_POST['tel'].'</br>';
    		echo $_POST['horaires'].'</br>';
            echo $_POST['cp'].'</br>';
            echo $_POST['ville'].'</br>';
    		echo $_POST['option'].'</br>';
    		echo $_POST['precision'].'</br>';
            echo print_r($_POST);
        }
     
    	{
    		$valid_form = 2;	
     
    	}
    Du coup j'ai toujours un retour d'erreur bien que tout soit bien complété :

    hello particulier
    madame
    Verso49
    Verso49@gmx.fr
    0600000000
    hr
    49000
    St Barth
    animation-commerciale
    test
    Array ( [nom] => Verso49 [civilite] => madame [organisateur] => particulier [cp] => 49000 [ville] => St Barth [email] => Verso49@gmx.fr [tel] => 0600000000 [horaires] => hr [option] => animation-commerciale [precision] => test [submit] => Valider ) 1

    Il y a une erreur dans votre formulaire :
    Merci de corriger.
    Mais toujours rien dans mon mail
    Ca ne veut pas partir qu'est-ce que je rate ???

    Merci Verso49

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    C'est toujours moi

    Je viens de passer mon code dans wamp
    j'ai 2 erreurs de signalées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    /*
    		*************************************************
    		3- ENVOI : on génère puis envoie le mail
    		*************************************************
    	*/
    	// OK ? ENVOI
    	if ( $valid_form == 1 ) // si PAS d'erreur
    	{
     
    		// Objet du mail  //
          	$objet = 'demande renseignements';
     
            // Contenu du message //
            $msg  = 'Bonjour,'."\r\n\r\n";
            $msg .= 'cette demande de renseignements nous arrive depuis clowns-rectoverso.com par '. $civilite.' '.$nom."\r\n\r\n";
            $msg .= 'Pour une demande de renseignements  pour :'."\r\n\r\n";
    		$msg .= $civilite." ";
    		$msg .= $nom."\r\n\r\n";
    		$msg .= $email."\r\n\r\n";
    		$msg .= $organisateur."\r\n\r\n";
    		$msg .= $tel." aux ";
    		$msg .= $horaires."\r\n\r\n";
    		$msg .= $cp."  ";
    		$msg .= $ville."\r\n\r\n";
    		$msg .= $option."\r\n\r\n";
            $msg .= $precision."\r\n";
     
             // En-têtes de l'e-mail //
    		$headers = 'De: '.$nom.' <'.$email.'>' . "\r\n";
    		$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
    		$headers .='Content-Transfer-Encoding: 8bit'; 
     
    //	echo '<pre>'.$msg.'</pre>'; // en TEST
     
    			// Envoi du mail
    			if (mail( $destinataire, $objet, $msg, $headers) )
    			{
    				echo '<p>'.$msg_envoye.'</p>'."\n";
    			}
    			else
    			{
    				echo '<p>'.$msg_non_envoye.'</p>'."\n";
    			};
    	}
    	else
    	{
    		$valid_form = 2;	// ERREUR
    		// une des variables (ou plus) est vide ...
    		$msg_formulaire_invalide .= 'Il y a une erreur dans votre formulaire :<br /><b>Merci de corriger.</b>';
    		echo '<p style="color:red;">'.$msg_formulaire_invalide.'</p>'."\n";
    	};
    } // fin TRAITEMENT du formulaire
    ?>
    Notice: Undefined variable: valid_form in C:\wamp\www\RV-2018\send_email-2018-2.php on line 7
    Notice: Undefined variable: valid_form in C:\wamp\www\RV-2018\send_email-2018-2.php on line 49
    Je comprends bien que la variable "valid_form" n'est pas définie à ces endroits, mais je ne vois pas quoi faire.

    Un mail arrive bien, mais il ne contient que la partie texte sans les variables (logique ! )

    Merci, et bonne journée à vous

  14. #14
    Invité
    Invité(e)

Discussions similaires

  1. Les formulaires ne fonctionnent plus apres un export/import
    Par Altaria dans le forum Configuration
    Réponses: 3
    Dernier message: 17/09/2009, 11h58
  2. Réponses: 3
    Dernier message: 17/09/2009, 11h58
  3. [MySQL] Envoi de données dans formulaire d'édition
    Par knebhi dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 03/08/2009, 16h24
  4. [MySQL] message d'erreur lors de l'envois des données du formulaires
    Par paolo129 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 16/12/2008, 17h14
  5. [AJAX] envoie de données à un formulaire de manière asynchrone
    Par comcom94 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/10/2008, 18h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo