Bonjour à tous,

J’ai eu un message du Service Client 1&1 au sujet de mon problème
d'affichage lors de la réception de mail envoyé à partir de mes formulaires, mais il ne me donne pas la solution à mon problème.

« Après vérifications, nous constatons que vous avez une erreur de code dans votre formulaire.
En effet, la variable $email utilisé à la ligne 85 :

$headers .= "From: ".$email."\r\n";

n'a été défini nulle part dans votre page contact.php.

Nous vous invitons donc à reprendre le code pour que votre mail s'affiche
correctement lors de la réception »

Je ne suis pas une experte en code php, et donc je n’arrive pas à définir cette variable email, pour que je puisse voir l’adresse email de l’expéditeur dans l’entête du mail de la personne qui a rempli mon formulaire.

Est-ce que quelqu’un pourrait me dire quoi faire ?
Merci d’avance

Je suis en version Php 5.5, hébergé chez 1&1.
Lorsque je reçois l'email je ne vois pas l'email dans l'entête venant "De" ,
je retrouve l'adresse email de ma cliente seulement grâce à mon champ de mon
formulaire de contact que j'ai créé sur ma page contact php.

J'ai créé 2 pages Php, l'une pour le code avec le champ de mon formulaire à
remplir par le client

<?php
/***************************************************************************
** RACINE DU SITE PAR RAPPORT A LA PAGE
***************************************************************************/
$siteRoot = './';
session_start();

?>

Et une autre page Php ou je récupère les données que mon client a renseigné
dans ce formulaire.



<?php
/***************************************************************************
** RACINE DU SITE PAR RAPPORT A LA PAGE
***************************************************************************/
$siteRoot = './';

session_start();
require "includes/fonctions.inc.php";

/***************************************************************************
** demande de devis
***************************************************************************/
// recuperation des parametres POST


$_SESSION['champ']['nom'] = $_POST['nom'];
$_SESSION['champ']['prenom'] = $_POST['prenom'];
$_SESSION['champ']['adresse'] = $_POST['adresse'];
$_SESSION['champ']['ville'] = $_POST['ville'];
$_SESSION['champ']['code'] = $_POST['code'];
$_SESSION['champ']['telephone'] = $_POST['telephone'];
$_SESSION['champ']['email'] = $_POST['email'];
$_SESSION['champ']['date'] = $_POST['date'];
$_SESSION['champ']['message'] = $_POST['message'];

// verification des parametres à champs obligatoires


$nbErrors = 0;
if ($_SESSION['champ']['nom']=='') {

$_SESSION['error']['nom'] = 'Le nom doit être rempli';
$nbErrors++;
}
if (!isValidEmail($_SESSION['champ']['email'])) {
$_SESSION['error']['email'] = 'Le mail n\'est pas valide';
$nbErrors++;
}
if ($_SESSION['champ']['ville']=='') {

$_SESSION['error']['ville'] = 'La ville doit être remplie';
$nbErrors++;
}
if ($_SESSION['champ']['telephone']=='') {

$_SESSION['error']['telephone'] = 'Le téléphone doit être rempli';
$nbErrors++;
}
$_SESSION['nbErrors'] = $nbErrors;

// si j'ai des erreurs je retourne sur la page contact.php
if ($nbErrors>0) {
header('Location:'.'contact_photographe.php');
exit();
}

unset($_SESSION['error']);

// preparation des informations du mail

$to = ‘monadresse@gmail.com’;
$subject = 'Demande de devis';
$corps = '';
$corps .= '<b>Nom</b> : '.$_SESSION['champ']['nom']."<br />\r\n";
$corps .= '<b>Prénom</b> : '.$_SESSION['champ']['prenom']."<br />\r\n";
$corps .= '<b>Adresse</b> : '.$_SESSION['champ']['adresse']."<br />\r\n";
$corps .= '<b>Ville</b> : '.$_SESSION['champ']['ville']."<br />\r\n";
$corps .= '<b>Code postal</b> : '.$_SESSION['champ']['code']."<br />\r\n";
$corps .= '<b>Téléphone</b> : '.$_SESSION['champ']['telephone']."<br
/>\r\n";
$corps .= '<b>Email</b> : '.$_SESSION['champ']['email']."<br />\r\n";
$corps .= '<b>Date du mariage ou de la prestation</b> :
'.$_SESSION['champ']['date']."<br />\r\n";
$coprs .= "<br />\r\n";
$corps .= '';
$corps .= '<b>Message</b>: '.$_SESSION['champ']['message'] ."<br />\r\n";



/* D'autres en-têtes */
$headers = "MIME-Version: 1.0\r\n";
/* Pour envoyer un mail au format HTML, vous pouvez configurer le type
Content-type. */
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "To: ".$to."\r\n";
$headers .= "From: ".$email."\r\n"; /* cette ligne est la ligne 85 ou se trouve l’erreur d’après assistance 1&1 En effet, la variable $email utilisé à la ligne 85 :

$headers .= "From: ".$email."\r\n";

n'a été défini nulle part dans votre page contact.php.*/


// envoi du mail
$ok = mail ( $to, $subject, $corps, $headers );
if ($ok) {
unset($_SESSION['champ']);
}



?>
Après lecture rapide, il me semble que tu devrais remplacer $email par $_SESSION['champ']['email'] (la variable qui récupère effectivement la valeur de l'email renseigné dans le formulaire, au tout début de ton fichier).

J’espère que ça suffira à résoudre ton problème Smiley cligne
Un grand Merci à Ten,
Car grâce à toi j'ai pu résoudre le problème.
Encore merci de ton aide
Bonne journée