Rechercher : dans
Par :

Formulaire php - probleme

Dernière réponse le 23 jun 2009 à 09:36:39 seer, le 23 jun 2009 à 06:44:04 
 Signaler ce message aux modérateurs

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";
}}}
?>

Meilleures réponses pour « formulaire php probleme » dans :
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
Télécharger PHP Edit VoirPHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de fonctionnalités permettant de développer plus efficacement : Coloration syntaxique Auto-complétion des fonctions Débuggeur...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...

1

 Harricote, le 23 jun 2009 à 09:36:39

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";

Sans coeur, on ne pas avancer, mais sans jambes, on le peut.
=> Ne vous découragez pas !

Répondre à Harricote