Formulaire php - probleme

Fermé
seer - 23 juin 2009 à 06:44
Harricote Messages postés 417 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 30 janvier 2011 - 23 juin 2009 à 09:36
je veux utiliser ce script php pour un formulaire mais une fois le mail envoyé depuis le serveur il arrive avec l'adresse suivante (login@60gp.ovh.net) et pas avec l'adresse de la personne qui a écrit le mail.

quelqu'un a til une idée? voici le script :

<?php

if (!isset($_POST["action"])) $_POST["action"]="";
if (!isset($_POST["nom"])) $_POST["nom"]="";
if (!isset($_POST["prenom"])) $_POST["prenom"]="";
if (!isset($_POST["adresse"])) $_POST["adresse"]="";
if (!isset($_POST["cp"])) $_POST["cp"]="";
if (!isset($_POST["ville"])) $_POST["ville"]="";
if (!isset($_POST["pays"])) $_POST["pays"]="";
if (!isset($_POST["tel"])) $_POST["tel"]="";
if (!isset($_POST["fax"])) $_POST["fax"]="";
if (!isset($_POST["email"])) $_POST["email"]="";
if (!isset($_POST["jour"])) $_POST["jour"]="";
if (!isset($_POST["mois"])) $_POST["mois"]="";
if (!isset($_POST["an"])) $_POST["an"]="";
if (!isset($_POST["heure"])) $_POST["heure"]="";
if (!isset($_POST["nbnuit"])) $_POST["nbnuit"]="";
if (!isset($_POST["nbadulte"])) $_POST["nbadulte"]="";
if (!isset($_POST["nbenfant"])) $_POST["nbenfant"]="";
if (!isset($_POST["message"])) $_POST["message"]="";

$msg="";
$etat="PASOK";

if ($_POST["action"] == "Envoyer"){
if ($_POST["nom"] != "" AND $_POST["tel"] != "" AND $_POST["email"] != "") { //test si les champs obligatoires comportent au moins un caractère

$email=$_POST["email"];
$tel=$_POST["tel"];

//$mel="^[a-zA-Z0-9_.\-]+@[a-zA-Z0-9_.\-]+\.[a-zA-Z0-9\ -\.]+$";




$atom = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]'; // caractères autorisés avant l'arobase
$domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // caractères autorisés après l'arobase (nom de domaine)

$regex = '/^' . $atom . '+' . // Une ou plusieurs fois les caractères autorisés avant l'arobase
'(\.' . $atom . '+)*' . // Suivis par zéro point ou plus
// séparés par des caractères autorisés avant l'arobase
'@' . // Suivis d'un arobase
'(' . $domain . '{1,63}\.)+' . // Suivis par 1 à 63 caractères autorisés pour le nom de domaine
// séparés par des points
$domain . '{2,63}$/i'; // Suivi de 2 à 63 caractères autorisés pour le nom de domaine

// test de l'adresse e-mail
if (preg_match($regex, $email)) {


$destinataire="xxx@free.fr";
$objet="Demande de reservation";

$message="Vous avez reçu une demande de réservation dont voici le contenu : \n";
$message.="Nom : ".$_POST["nom"]."\n";
$message.="Prenom : ".$_POST["prenom"]."\n";
$message.="Adresse : ".$_POST["adresse"]."\n";
$message.="Code postal : ".$_POST["cp"]."\n";
$message.="Ville : ".$_POST["ville"]."\n";
$message.="Pays : ".$_POST["pays"]."\n";
$message.="Telephone : ".$_POST["tel"]."\n";
$message.="Fax : ".$_POST["fax"]."\n";
$message.="Email : ".$_POST["email"]."\n";
$message.="Date : ".$_POST["jour"]."/".$_POST["mois"]."/".$_POST["an"]."\n";
$message.="Heure d'arrivee : ".$_POST["heure"]."\n";
$message.="Nombre de nuits : ".$_POST["nbnuit"]."\n";
$message.="Nombre d'adulte(s) : ".$_POST["nbadulte"]."\n";
$message.="Nombre d'enfant(s) : ".$_POST["nbenfant"]."\n";
$message.="Message : ".$_POST["message"]."\n";

mail($destinataire,$objet,$message);
$etat="OK";

}
else{
echo "Email invalide";
}}}
?>
A voir également:

1 réponse

Harricote Messages postés 417 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 30 janvier 2011 41
23 juin 2009 à 09:36
Il faut que tu mettes les headers
$headers ='From: <ton_adresse>\n';
$headers .='Content-Type: text/html; charset="iso-8859-1\n';
$headers .='Content-Transfer-Encoding: 8bit';
$headers .='To: '.$_POST['email'].'\n';
$objet="Demande de reservation";
$message="Vous avez reçu une demande de réservation dont voici le contenu : \n";
$message.="Nom : ".$_POST["nom"]."\n";
$message.="Prenom : ".$_POST["prenom"]."\n";
$message.="Adresse : ".$_POST["adresse"]."\n";
$message.="Code postal : ".$_POST["cp"]."\n";
$message.="Ville : ".$_POST["ville"]."\n";
$message.="Pays : ".$_POST["pays"]."\n";
$message.="Telephone : ".$_POST["tel"]."\n";
$message.="Fax : ".$_POST["fax"]."\n";
$message.="Email : ".$_POST["email"]."\n";
$message.="Date : ".$_POST["jour"]."/".$_POST["mois"]."/".$_POST["an"]."\n";
$message.="Heure d'arrivee : ".$_POST["heure"]."\n";
$message.="Nombre de nuits : ".$_POST["nbnuit"]."\n";
$message.="Nombre d'adulte(s) : ".$_POST["nbadulte"]."\n";
$message.="Nombre d'enfant(s) : ".$_POST["nbenfant"]."\n";
$message.="Message : ".$_POST["message"]."\n";
mail($destinataire,$objet,$message,$headers);
$etat="OK";

0