Version complète: sur le forum Webmaster Hub : fonction mail()
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
igor22
Bonjour,
Je debute en php ! j'ai fais un petit formulaire que j'envois en POST vers un fichier php et je ne comprends pas où est l'erreur !! il m'est impossible d'envoyer les données ! toujours le message d'erreur issue du fichier php (ci dessous)
"Une erreur s'est produite"

si quelq'un pouvait m'aider je lui en serait grandement reconnaissant !!!
voici mon code php
CODE
<?php
$nom=$_POST['nom'];
$mail=$_POST['mail'];
$objet=$_POST['objet'];
$message=$_POST['message'];
$societe=$_POST['societe'];
$choix=$_POST['choix'];
$telephone=$_POST['telephone'];
$adresse=$_POST['adresse'];
$devis=$_POST['devis'];
$budget=$_POST['budget'];
$connaissance=$_POST['connaissance'];

$headers = "";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer langue HP";

$subject="$objet";
$destinataire="moi_AT_moi.com";

$body="";
$body.="$message\r\n";
$body.="$societe\r\n";
$str_choix= join (',', $_POST['choix']);
$body.=".$str_choix.\r\n";
$body.="$telephone\r\n";
$body.="$adresse\r\n";
$body.="$devis\r\n";
$body.="$budget\r\n";
$body.="$connaissance\r\n";


if (mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a été envoyé";
} else {
echo "Une erreur s'est produite";
}
?>

Merci pour votre aide !!!!
xpatval
Tu peux rajouter cela:
CODE
    ini_set("track_errors",1);
if (mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a été envoyé";
} else {
echo ""Erreur lors de l'envoi du mail:" . $php_errormsg ."";
}


xpatval
igor22
cette avant derniere ligne renvoi une erreur !!!
------>
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in envoi.php on line 43
de plus pourrais tu me dire a quoi elle sert ????


echo ""Erreur lors de l'envoi du mail:" . $php_errormsg ."";
xpatval
Va falloir que je prenne des cours de copier/coller...
Voila le bon code:

CODE
echo "Erreur lors de l'envoi du mail:" . $php_errormsg ."";
Voire ceci...
CODE
echo "Erreur lors de l'envoi du mail:" . $php_errormsg;


Hum... whistling.gif

xpatval
igor22
malheureusement cela ne change rien mon formulaire ne marche pas !!!
toujours la phrase du fichier envoi.php " Une erreur s'est produite"
Je remet mon code qui a un peu evolué mais sans succes
CODE
<?php
$_POST['nom'];
$_POST['mail'];
$_POST['objet'];
$_POST['message'];
$_POST['societe'];
$_POST['telephone'];
$_POST['adresse'];
$_POST['devis'];
$_POST['budget'];
$_POST['connaissance'];

$headers = "";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";

$subject="$objet";
$destinataire="info_AT_min-one.com";

$body="";
$body.="".$_POST['message']."\r\n";
$body.="".$_POST['societe']."\r\n";
$body.="".$_POST['telephone']."\n";
$body.="".$_POST['adresse']."\r\n";
$body.="".$_POST['devis']."\r\n";
$body.="".$_POST['budget']."\r\n";
$body.="".$_POST['connaissance']."\r\n";


if (mail($destinataire,$subject,$body,$headers)==true) {
print ("Votre mail a été envoyé");
} else {
die("Une erreur s'est produite");
}
ini_set("track_errors",1);
if (mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a été envoyé";
} else {
echo "Erreur lors de l'envoi du mail:" . $php_errormsg ."";
}

?>

Merci pour votre aide !!!
NorSeb
Bonjour,

C'etst quoi ca au début ??
CODE
$_POST['nom'];
$_POST['mail'];
$_POST['objet'];
$_POST['message'];
$_POST['societe'];
$_POST['telephone'];
$_POST['adresse'];
$_POST['devis'];
$_POST['budget'];
$_POST['connaissance'];


PS: Pour insérer du code correctement tu encadre celui-ci par [ code ] et [/ code ] (sans les espaces)
Dan
CITATION(NorSeb @ mercredi 08 mars 2006, 09h19)
PS: Pour insérer du code correctement tu encadre celui-ci par [ code ] et [/ code ] (sans les espaces)
*

Voire les balises CODEBOX si le code fait plus d'une douzaine de lignes.

Il suffit de sélectionner le code dans le post, et cliquer la case CODE, CODEBOX, SQL ou HTML en haut de la fenêtre de saisie.

Difficile de faire plus simple, non ?
hit7374
bonjour,
essaye comme ça
CODE
<?php
if (!empty($_POST)) {
extract($_POST);
} else if (!empty($HTTP_POST_VARS)) {
extract($HTTP_POST_VARS);
}
/*
$_POST['nom'];
$_POST['mail'];
$_POST['objet'];
$_POST['message'];
$_POST['societe'];
$_POST['telephone'];
$_POST['adresse'];
$_POST['devis'];
$_POST['budget'];
$_POST['connaissance'];
*/
$headers = "";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
$headers .= "From: $nom <$mail>\n";
$hearders .= "Reply-to : $nom <$mail>\n";
/*
$headers = "";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";
*/
$subject="$objet";
$destinataire="info_AT_min-one.com";

$body="";
$body.="$message$$\n";
$body.="$societe$\n";
$body.="$telephone$\n";
$body.="$adresse$\n";
$body.="$devis$\n";
$body.="$budget$\n";
$body.="$connaissance$\n";


if (@mail($destinataire,$subject,$body,$headers)) {
print ("Votre mail a été envoyé");
} else {
die("Une erreur s'est produite");
}
ini_set("track_errors",1);
if (@mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a été envoyé";
} else {
echo "Erreur lors de l'envoi du mail:" . $php_errormsg ."";
}

?>

j'ai la même structure est ça marche j'ai mis entre /* */ tes anciennes lignes
@+
JP
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.