|
|
|
|
Bonjour,
Je viens de faire ce tutoriel : http://wiki.mediabox.fr/tutoriaux/flash/formulaire_flash_php
Et j'ai donc réaliser la pertie flash sans aucun problème.
J eme lance donc dans la partie PHP et là tout ce passe pour le mieux jusqu'au test ou ça me met "erreur PHP" dans la zone de sortie.
Je ne sais pas pourquoi car j'ai fait du copier coller !! Mais j'ai mit un envoi à deux adresse email est-ce pour cela ??
Voici mon code PHP :
<?php
function decoderEncoderHtml($texte){
$texte = utf8_decode($texte); // converti en iso-8859-1
$texte = stripslashes($texte); // élimine les anti-slashs d'échappement
$texte = nl2br($texte); // converti les retours en <br />
$texte = trim($texte); // élimine les '\n', '\r', '\t' etc
return $texte;
}
function decoder($texte){
$texte = utf8_decode($texte); // converti en iso-8859-1
$texte = stripslashes($texte); // élimine les anti-slashs d'échappement
return $texte;
}
$erreurPHP="";
if(isset($_POST['sujet']))$sujet = $_POST['sujet'];
else $erreurPHP .= "Variable 'sujet' non transmise\n";
if(isset($_POST['messageHtml']))$messageHtml = $_POST['messageHtml'];
else $erreurPHP .= "Variable 'message' non transmise\n";
if(isset($_POST['messageText']))$messageTexte = $_POST['messageText'];
else $erreurPHP .= "Variable 'message' non transmise\n";
if(isset($_POST['expediteur']))$expediteur = $_POST['expediteur'];
else $erreurPHP .= "Variable 'expediteur' non transmise\n";
if(isset($_POST['mailReponse']))$mailReponse = $_POST['mailReponse'];
else $erreurPHP .= "Variable 'mailReponse' non transmise\n";
if($erreurPHP != "") echo utf8_encode("erreurPHP=".$erreurPHP);
else
{
$to = Moi <toinousp@gmail.COM>, Réponse automatique <contact@toinousp.fr>;
$sujet = decoder($sujet);
$expediteur = decoder($expediteur);
$messagehtml = decoderEncoderHtml($messageHtml);
$messageTexte = decoder($messageTexte);
//-----------------------------------------------
//GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
//-----------------------------------------------
$frontiere = '-----=' . md5(uniqid(mt_rand()));
//-----------------------------------------------
//HEADERS DU MAIL
//-----------------------------------------------
$headers = 'From: '.$expediteur.' <'.$mailReponse.'>'."\n";
$headers .= 'Return-Path: <'.$mailReponse.'>'."\n";
$headers .= 'MIME-Version: 1.0'."\n";
$headers .= 'Content-Type: multipart/alternative; boundary="'.$frontiere.'"'."\n";
$headers .= 'Content-Transfer-Encoding: 8bit';
//-----------------------------------------------
//MESSAGE TEXTE
//-----------------------------------------------
$message = '--'.$frontiere."\n";
$message .= 'Content-Type: text/plain; charset=iso-8859-1'."\n";
$message .= 'Content-Transfer-Encoding: 8bit'."\n\r\n\r";
$message .= $messageTexte."\n";
//-----------------------------------------------
//MESSAGE HTML
//-----------------------------------------------
$message .= '--'.$frontiere."\n";
$message .= 'Content-Type: text/html; charset=iso-8859-1'."\n";
$message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
$message .= $messageHtml."\n\n";
$message .= '--'.$frontiere."\n";
$mail_OK = mail($to, $sujet, $message, $headers) ;
if (!$mail_OK)
{
$erreurPHP .= "Problème lors de l'envoi du mail";
}
echo utf8_encode("erreurPHP=".$erreurPHP);
}
?>
Configuration: Mac OS X Safari 523.15
Bonsoir
$to = Moi <toinousp@gmail.COM>, Réponse automatique <contact@toinousp.fr>; est erronné : il manque des ' ' ou des " " Je ne sais pas comment ça se comporte sur MAC mais avec windows, les adresses ne peuvent être que sous la forme toinousp@gmail.COM sans toutes les autres fioritures Normalement, les lignes d'en-tête sont séparées par des "\r\n" et non pas seulement des \n |
Bonjour,
<?php
function decoder($texte){
$texte = utf8_decode($texte); // converti en iso-8859-1
$texte = stripslashes($texte); // élimine les anti-slashs d'échappement
$texte = nl2br($texte); // converti les retours en <br />
$texte = trim($texte); // élimine les '\n', '\r', '\t' etc
return $texte;
}
$erreurPHP="";
if(isset($_POST['sujet']))$sujet = $_POST['sujet'];
else $erreurPHP .= "Variable 'sujet' non transmise\n";
if(isset($_POST['messageHtml']))$messageHtml = $_POST['messageHtml'];
else $erreurPHP .= "Variable 'message' non transmise\r\n";
if(isset($_POST['messageText']))$messageTexte = $_POST['messageText'];
else $erreurPHP .= "Variable 'message' non transmise\n";
if(isset($_POST['expediteur']))$expediteur = $_POST['expediteur'];
else $erreurPHP .= "Variable 'expediteur' non transmise\r\n";
if(isset($_POST['mailReponse']))$mailReponse = $_POST['mailReponse'];
else $erreurPHP .= "Variable 'mailReponse' non transmise\r\n";
if($erreurPHP != "") echo utf8_encode("erreurPHP=".$erreurPHP);
else
{
$to = "toinousp@gmail.com","contact@toinousp.fr";
$sujet = decoder($sujet);
$expediteur = decoder($expediteur);
$messagehtml = decoder($messageHtml);
$messageTexte = utf8_decode($messageTexte);
//-----------------------------------------------
//GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
//-----------------------------------------------
$frontiere = '-----=' . md5(uniqid(mt_rand()));
//-----------------------------------------------
//HEADERS DU MAIL
//-----------------------------------------------
$headers = 'From: '.$expediteur.' <'.$mailReponse.'>'."\r\n";
$headers .= 'Return-Path: <'.$mailReponse.'>'."\r\n";
$headers .= 'MIME-Version: 1.0'."\r\n";
$headers .= 'Content-Type: multipart/alternative; boundary="'.$frontiere.'"'."\r\n";
$headers .= 'Content-Transfer-Encoding: 8bit';
//-----------------------------------------------
//MESSAGE TEXTE
//-----------------------------------------------
//$message = 'This is a multi-part message in MIME format'."\n\r";
$message = '--'.$frontiere."\n\r";
$message .= 'Content-Type: text/plain; charset=UTF-8'."\n\r";
$message .= 'Content-Transfer-Encoding: 8bit'."\n\r\n\r";
$message .= $messageTexte."\n\r";
//-----------------------------------------------
//MESSAGE HTML
//-----------------------------------------------
$message .= '--'.$frontiere."\r\n";
$message .= 'Content-Type: text/html; charset=UTF-8'."\r\n";
$message .= 'Content-Transfer-Encoding: 8bit'."\r\n\r\n";
$message .= $messageHtml."\r\n\r\n";
$message .= '--'.$frontiere."\r\n";
$mail_OK = mail($to, $sujet, $message, $headers) ;
if (!$mail_OK)
{
$erreurPHP .= "Problème lors de l'envoi du mail";
}
echo utf8_encode("erreurPHP=".$erreurPHP);
}
?>
Mais il y a toujours "Erreur PHP:" Et je ne reçoit aucun mail |
Bonjour, la première chose à vérifier est que l'hébergeur n'a pas désactiver la fonction mail native de php.
|