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 :

Formulaire de contact


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 90
    Points : 43
    Points
    43
    Par défaut Formulaire de contact
    Bonjour,

    Mon problème est simple: je ne reçois pas de courriel de mon formulaire de contact.

    Page 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
    <link rel="stylesheet" href="style.css" />
    <div style="padding-top:100px">
    				<form id="CommentForm" method="post" action="contact-send.php" style="margin-top:-100px"> 
                    <?php
              require_once('recaptchalib.php');
              $publickey = "6LdGN-USAAAAAL561ZrKrSITtGfVAYeJJCy6Eauk "; // you got this from the signup page
     
            ?>
     
                            <input type="text" name="ContactName" id="ContactName" placeholder="Nom" />  		 
    						<input type="text" name="ContactEmail" id="ContactEmail" placeholder="Courriel" /> 
                            <br>	<br>			  
    					<input type="text" name="subject" id="subject" placeholder="Sujet" style="width:500px"/> 
                        <p class="text">  
    						<textarea name="ContactComment" placeholder="Entrez votre message"></textarea>  
    					</p> <p class="text"><br><?php 
                                     					echo recaptcha_get_html($publickey);?></p>                      
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td>
    				<a href="http://ca.linkedin.com/pub/fr%C3%A9d%C3%A9ric-leroux/2b/712/296" class="linkedin" title="LinkedIn"></a>
    				<a href="https://www.facebook.com/frederic.leroux.921?ref=ts&fref=ts" class="facebook" title="Facebook"></a>
    				</td>
        <td><p class="submit">  
    						<input type="submit" value="Envoyez" />  
    					</p>  
    					</td>
      </tr>
    </table>
     
     
    				</form>
    </div>
    Envois 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
    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
    <style>
    #error {background-color:#000;width:100px;top:0;left:0}
    #succes {background-color:#000;width:100px;top:0;left:0}
    </style>
    <?php
    require_once('recaptchalib.php');
              $privatekey = "6LdGN-USAAAAAPXux-HWwDsiEHsTMtjZg64jW330"; // you got this from the signup page
    $resp = recaptcha_check_answer ($privatekey,
                                    $_SERVER["REMOTE_ADDR"],
                                    $_POST["recaptcha_challenge_field"],
                                    $_POST["recaptcha_response_field"]);
     
      if (!$resp->is_valid) {
        // What happens when the CAPTCHA was entered incorrectly
        die ("<div class=\"error\">Le reCAPTCHA est incorrect. Veuillez recommencer." .
             " <a href='#' onclick='top.location.reload(true); return false;'>OK</a></div>");
      } else {
     
      }
     
     
     
    $YourEmailAddress = "mon courriel";	
     
     
     
     
    error_reporting (E_ALL ^ E_NOTICE);
    $post = (!empty($_POST)) ? true : false;
    if($post) {
    	function ValidateEmail($email){
     
    		$regex = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$^";
    		$eregi = preg_replace($regex,'', trim($email));
     
    		return empty($eregi) ? true : false;
    	}
     
    	$name = stripslashes($_POST['ContactName']);
    	$to = $YourEmailAddress; //trim($_POST['to']);
    	$email = trim($_POST['ContactEmail']);
    	$subject = stripslashes($_POST['subject']);
    	$message = stripslashes($_POST['ContactComment']);
    	$error = '';
    	$Reply=$to;
    	$from=$to;
     
    	// Check Name Field
    	if(!$name) {
    		$error .= 'Veuillez indiquer votre nom.<br />';
    	}
     
    	// Checks Email Field
    	if(!$email) { 
    		$error .= 'Veuillez indiquer votre adresse courriel.<br />';
    	}
    	if($email && !ValidateEmail($email)) {
    		$error .= 'Veuillez indiquer une adresse courriel valide.<br />';
    	}
     
     
    	// Checks Subject Field
    	if(!$subject) {
    		$error .= 'Veuillez indiquer un sujet.<br />';
    	}
     
    	// Checks Message (length)
    	if(!$message || strlen($message) < 3) {
    		$error .= "Veuillez indiquer un message d'au moin 5 caractères.<br />";
    	}
     
    	// Let's send the email.
    	if(!$error) {
    		$messages="De: $email <br>";
    		$messages.="Nom: $name <br>";
    		$messages.="Courriel: $email <br>";
    		$messages.="Sujet: $subject <br>";
    		$messages.="Message: $message <br>";
    		$emailto=$to;
     
    		$mail = mail($emailto,$subject,$messages,"De: $from <$Reply>\nReply-To: $Reply \nContent-type: text/html");	
     
    		if($mail) {
    			echo '<div class="succes">Votre courriel a été envoyé. Merci! <a href="#" onclick="top.location.reload(true); return false;">OK</a></div>';
    		}
    	} else {
    		echo '<div class="error">'.$error.'Veuillez recommencer <a href="#" onclick="top.location.reload(true); return false;">OK</a></div>';
    	}
     
    }
    ?>
    Merci de votre aide.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Tu ne reçois rien ok mais est-ce que le message php d'envoi de mail s'affiche quand tu envoies le formulaire ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 90
    Points : 43
    Points
    43
    Par défaut
    Oui, mon message comme quoi c'est envoyé s'affiche.

  4. #4
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mail = mail($emailto,$subject,$messages,"De: $from <$Reply>\nReply-To: $Reply \nContent-type: text/html");
    La dernière fois que j'ai regardé, l'header "De" n'existait pas. Essaye plutôt avec "From"
    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]

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 90
    Points : 43
    Points
    43
    Par défaut
    Effectivement c'était aussi simple que ça.

    Problème résolu...sauf que mon formulaire n'envois pas les accent (au lieu d'avoir un é j'ai é), mais ça s'endure, si quelqu'un pouvait m'aider ce serait gentils.

    Merci

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Il faut spécifier l'encodage dans les header
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "From: $from <$Reply>\nReply-To: $Reply \nContent-type: text/html; charset=UTF-8"

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 90
    Points : 43
    Points
    43
    Par défaut
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 10/01/2006, 07h23
  2. [Formulaire] de contact
    Par inferno66667 dans le forum Langage
    Réponses: 6
    Dernier message: 19/12/2005, 19h32
  3. Prob avec formulaire de contact
    Par inferno66667 dans le forum Langage
    Réponses: 1
    Dernier message: 01/12/2005, 18h53
  4. Prob avec PHP sur le formulaire de contact
    Par inferno66667 dans le forum Langage
    Réponses: 7
    Dernier message: 16/11/2005, 17h06
  5. Problème d'accès formulaire de contact
    Par Mystic26 dans le forum Langage
    Réponses: 7
    Dernier message: 16/09/2005, 16h47

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