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 :

Reply-to d'un formulaire de contact


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club Avatar de Julia1
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Reply-to d'un formulaire de contact
    Bonsoir à tous !

    J'ai un formulaire de contact sur mon site internet. Il fonctionne bien. Lorsque je reçois le message sur ma boite mail et que je fais "répondre à l'expéditeur", j'ai le nom de mon login ftp qui s'affiche
    Je souhaiterais que ça affiche directement le mail de la personne qui a envoyé le formulaire, mais rien n'y fait !

    Voici mon code 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
     
    <?php
    	if (isset($_POST["submit"])) {
    		$name = $_POST['name'];
    		$email = $_POST['email'];
    		$message = $_POST['message'];
    		$human = intval($_POST['human']);
    		$from = 'Message site Internet'; 
    		$to = 'contact@monsite.fr'; 
    		$subject = 'Message formulaire de contact';		
    		$headers = 'Reply-to: $email' . "\n" ;
    		$headers .= 'Return-path: $email' . "\n" ;
    		$headers .= 'From: $email' . "\r\n";
     
    		$body ="Nom: $name\nE-Mail: $email\nMessage: $message";
    		// Check if name has been entered
    		if (!$_POST['name']) {
    			$errName = '› Merci de renseigner votre nom';
    		}
     
    		// Check if email has been entered and is valid
    		if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
    			$errEmail = '› Merci de renseigner une adresse valide';
    		}
     
    		//Check if message has been entered
    		if (!$_POST['message']) {
    			$errMessage = '› Merci de mettre un message';
    		}
    		//Check if simple anti-bot test is correct
    		if ($human !== 7) {
    			$errHuman = '› Recommencer le calcul';
    		}
    // If there are no errors, send the email
    if (!$errName && !$errEmail && !$errMessage && !$errHuman) {
    	if (mail ($to, $subject, $body, $from, $headers)) {
    		$result='<div class="success">Merci pour votre message. Nous allons vous répondre rapidement. Cordialement.</div>';
    	} else {
    		$result='<div class="danger">Désolé, il y a eu une erreur lors du transfert de votre message. Veuillez réessayer plus tard.</div>';
    	}
    }
    	}
    ?>
    et mon html :

    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
     
    <form class="form-horizontal" role="form" method="post" action="contact.php">
    					<div class="titre">NOM *</div>
     
    							<input type="text" class="form-control" id="name" name="name" placeholder="Nom et Prénom" value="<?php echo htmlspecialchars($_POST['name']); ?>">
    							<?php echo "<p class='text-danger'>$errName</p>";?>
     
    						<div class="titre">Email *</div>
     
    							<input type="email" class="form-control" id="email" name="email" placeholder="example@domaine.fr" value="<?php echo htmlspecialchars($_POST['email']); ?>">
    							<?php echo "<p class='text-danger'>$errEmail</p>";?>
     
                            <div class="titre">MESSAGE *</div>
    							<textarea class="form-control" rows="4" name="message"><?php echo htmlspecialchars($_POST['message']);?></textarea>
    							<?php echo "<p class='text-danger'>$errMessage</p>";?>
     
                            <div class="titre">3+4 = ? *</div>
    							<input type="text" class="form-control" id="human" name="human" placeholder="Votre réponse">
    							<?php echo "<p class='text-danger'>$errHuman</p>";?>
     
    							<input id="submit" name="submit" type="submit" value="ENVOYER" >
     
    							<?php echo $result; ?>	
     
    				</form>
    Merci d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Utilise les bons guillemets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $headers = "Reply-to: $email\n" ;
    $headers .= "Return-path: $email\n" ;
    $headers .= "From: $email\r\n";
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    Mauvaise concaténation. Il y'a une grande différence entre les guillemets simples et les guillemets doubles.
    Voici quoi faire.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $headers = 'Reply-to: '. $email . "\n";
    $headers .= 'Return-path: ' . $email . "\n";
    $headers .= 'From: ' . $email . "\r\n";
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  4. #4
    Nouveau Candidat au Club Avatar de Julia1
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci à tous les 2 mais malheureusement, ni l'une ni l'autre de vos réponses ne change quelque chose... Je n'ai toujours pas de changement et l'email donné dans le formulaire n'est pas affecté en no-reply ou from...

    J'ai testé sur une deuxième messagerie et j'ai le même souci.

    Merci

  5. #5
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $headers = 'From: '. $email . "\r\n";
    $headers .= 'Reply-To: ' . $email . "\r\n";
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  6. #6
    Nouveau Candidat au Club Avatar de Julia1
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci de ton aide Nazoïde, mais toujours pas de changement

  7. #7
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    J'ai l'impression qu'il s'agit d'un mail HTML. Si c'est le cas, l'en-tête Content-type doit être défini.
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  8. #8
    Nouveau Candidat au Club Avatar de Julia1
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci,

    J'ai rajouté ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $headers .= 'Content-Type: text/html; charset=\"UTF-8\"'. "\r\n";
    $headers .= 'Content-Transfer-Encoding: 8bit'. "\r\n";
    Mais non toujours pareil...

  9. #9
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    Voici le headers pour un envoi en UTF-8
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $headers = "From: $email" . "\r\n" .
            "MIME-Version: 1.0" . "\r\n" .
            "Content-type: text/html; charset=UTF-8" . "\r\n";
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  10. #10
    Nouveau Candidat au Club Avatar de Julia1
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bon encore raté...

    Je me demande si c'est vraiment possible de faire cela comme ça. Je dois vraiment passer à côté de quelque chose au niveau du code php pour que ça ne marche pas du tout... pourtant $from, $to et $subject sont bien traités mais $headers pas du tout...

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