Bonjour,
j'ai fait générer un code pour un formulaite mail en PHP par http://infoxp.leobaillard.org
et le problème est que lorsque le message arrive dans ma boite mail l'expéditeur est inconnu, je crois que cela vient de la variable $headers mais je suis trop nul pur résoudre le problème...
le code :
--------------------------
<?php include("menu.php"); ?>
<hr style="height: 2px;" color="#3333ff"><br>
<?php
$champs_obligatoires = array("champ1","champ2","email","texte");
$champs_titres = array('champ1' =>'Nom :','champ2' =>'Prénom :','email' =>'Email :','texte' =>'Message :',);
$destinataire = MON ADRESSE MAIL;
$headers = 'From: "Contact Site TC" <Mail Site TC>'."\n";
$headers = 'Content-Type: text/plain; charset=iso-8859-1';
$sujet = 'Un message du Site TC';
if (!empty($_POST)){
$complete = true;
foreach($champs_obligatoires as $champ){
if (!isset($_POST[$champ])||trim($_POST[$champ])===''){
$complete = false; //un champ obligatoire est incomplet
break;
}elseif($champ == 'email' && !preg_match('/[.+a-zA-Z0-9-]+@[.a-zA-Z0-9-]+.[a-zA-Z]{2,6}/', $_POST[$champ])){
$complete = false; //email invalide
$_POST[$champ] = '';
break;
}
}
foreach($_POST as $champ=>$valeur){
$message .= $champs_titres[$champ].' '.$valeur."\n";
}
$sent = $complete && @mail($destinataire,$sujet, $message,$headers);
}
?>
<!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" xml:lang="fr" lang="fr"><head><meta http-equiv="content-type" content="text/html;charset=iso-8859-1" /><title>Formulaire de contact</title><script language="JavaScript" type="text/javascript">
<!--
function flash_labels(show) {
var i = 1;
while(document.getElementById('field'+i)){
if (document.getElementById('flabel'+i).style.color == "red"){
if (show)
document.getElementById('flabel'+i).style.visibility = "visible";
else
document.getElementById('flabel'+i).style.visibility = "hidden";
}
i++;
}
}
function verifSelection() {
var i = 1;
var retour = true;
while(document.getElementById('field'+i)){
if (document.getElementById('field'+i).value == ""){
document.getElementById('flabel'+i).style.color = "red";
retour = false;
}else{
document.getElementById('flabel'+i).style.color = "";
}
i++;
}
if (!retour) alert("Vous devez remplir le formulaire au complet !");
setTimeout("flash_labels(false)", 100);
setTimeout("flash_labels(true)", 350);
setTimeout("flash_labels(false)", 600);
setTimeout("flash_labels(true)", 850);
return retour;
}
<?php if (isset($complete) && $complete == false) echo 'onload = function() {verifSelection(); }'; ?>
// -->
</script></head><body>
<?php if (!isset($sent) || (isset($complete) && $complete == false)){ ?>
<!-- Debut formulaire -->
<form action="" method="post" onsubmit="return verifSelection()">
<table style="margin:0 auto;">
<tr><td valign="top"><label id="flabel1" for="field1">Nom : </label></td><td><input type="text" id="field1" size="25" name="champ1" value="<?php echo @$_POST["champ1"]; ?>" /></td></tr>
<tr><td valign="top"><label id="flabel2" for="field2">Prénom : </label></td><td><input type="text" id="field2" size="25" name="champ2" value="<?php echo @$_POST["champ2"]; ?>" /></td></tr>
<tr><td valign="top"><label id="flabel3" for="field3">Email : </label></td><td><input type="text" name="email" id="field3" size="25" value="<?php echo @$_POST["email"]; ?>" /></td></tr>
<tr><td valign="top"><label id="flabel4" for="field4">Message : </label></td><td><textarea name="texte" rows="8" id="field4" cols="35"><?php echo @$_POST["texte"]; ?></textarea></td></tr>
<tr><td></td><td style="text-align:right"><input type="submit" value="Envoyer" /></td></tr>
</table>
</form>
<!-- Fin formulaire -->
<?php }elseif(!$sent){ ?>
<!-- Debut message Erreur -->
<p style="text-align:center;">Une erreur serveur est survenue, l'envoi de mail est impossible. Veuillez réessayer plus tard</p>
<!-- Fin message erreur -->
<?php }else{ ?>
<!-- Debut message succes -->
<p style="text-align:center;">Votre message a été envoyé avec succès, merci!</p>
<!-- Fin message succes -->
<?php } ?>
</body></html>
31 juil. 2009 à 15:04
$headers = 'From: "Contact Site TC" <tonadresse@mail.fr>'."\n";
j'ai mis mon adresse mail mais j'ai toujours nobody comme expéditeur...