Faire fonctionner mon formulaire de contact

garyls -  
 mon code dans cation script de flash -
Bonjour,
j'ai un problème avec mon formulaire de contact. En faite j'ai réalisé le formulaire sur une pages de mon site, dans la partie contact dans Flash. Quand je rempli tous les champs et que je fais envoyer, un message d'erreure s'affiche : un problème avec le script PHP.
Je ne sais pas pourqoi mais il serait sympat que quelqu'un m'aide. Mes salutations cordiales à tous.

Voilà mon code : j'utilise Mac OSX et firefox3.6
<?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="";

/* Paragraphe à decommenter pour tester le script php seul, sans le fla
$_POST['sujet'] = 'formulaire Test';
$_POST['messageHtml'] = '<html><body>Salut<br /> mon cher<br /><br />Bye</body></html>';
$_POST['messageText'] = "Salut mon cher Bye";
$_POST['expediteur'] = "expediteur@fai.fr";
$_POST['mailReponse'] = "expediteur@fai.fr";
*/

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 = "destinataire@.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(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 = "This is a multi-part message in MIME format\n\n";

$message = "--$frontiere\n";
$message .= "Content-Type: text/plain; charset=UTF-8\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";
$message .= $messageTexte."\n\n";

//-----------------------------------------------
//MESSAGE HTML
//-----------------------------------------------
$message .= "--$frontiere\n";
$message .= "Content-Type: text/html; charset=UTF-8\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
Firefox 3.6

6 réponses

JFS77 Messages postés 437 Statut Membre 70
 
tu peux afficher l'erreur ?
0
garyls
 
Il me marque probleme avec le script PHP
0
JFS77 Messages postés 437 Statut Membre 70
 
essai d'initialiser les variables de ton mail
0
garyls
 
je ne sais pas comment on procède, je suis nouveau c'est pour cela
0
JFS77 Messages postés 437 Statut Membre 70
 
ajoute ca après $erreurPHP="";

$sujet = "";
$messageHtml = '"";
$messageText = "";
$expediteur = """;
$mailReponse = "";
0
je vais le faire
 
merci par avance camarade, je vais le faire et je te redirais ce qu'il en ai, grand merci
0
JFS77 Messages postés 437 Statut Membre 70
 
ce n'est pas grand chose c'est juste pour vérifier que ca ne vient pas de ca
0
ca ne marche tjr pas
 
Re, j'ai bien rajouter ce que tu m'as indiquer mais tjr le même message, problème avec le script php, par contre je ne sais pas si mon problème vient de là mais quand j'ai fais publier dans flash cs4, aucun fichier AC_RunActiveContent.js n'a été générer automatiquement comme quand on le fais dans cs3? et le message je l'ai rajouter à la 11éme ligne

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

$sujet = "";
$messageHtml = '"";
$messageText = "";
$expediteur = """;
$mailReponse = "";


/* Paragraphe à decommenter pour tester le script php seul, sans le fla
$_POST['sujet'] = 'formulaire Test';
$_POST['messageHtml'] = '<html><body>Salut<br /> mon cher<br /><br />Bye</body></html>';
$_POST['messageText'] = "Salut mon cher Bye";
$_POST['expediteur'] = "expediteur@fai.fr";
$_POST['mailReponse'] = "expediteur@fai.fr";
*/

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 = "destinataire@.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(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 = "This is a multi-part message in MIME format\n\n";

$message = "--$frontiere\n";
$message .= "Content-Type: text/plain; charset=UTF-8\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";
$message .= $messageTexte."\n\n";


//-----------------------------------------------
//MESSAGE HTML
//-----------------------------------------------
$message .= "--$frontiere\n";
$message .= "Content-Type: text/html; charset=UTF-8\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);
}
?>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JFS77 Messages postés 437 Statut Membre 70
 
je ne connais pas flash je connais uniquement php mais je vois pas d'erreur dans le script
0
merci
 
ok, bah merci quand même, je sais vraiment pourquoi il merde ce truc mais bon à bientot et bone courage à toi
0
graffx Messages postés 120 Date d'inscription   Statut Contributeur Dernière intervention   1 976
 
Je ne comprend pas pourquoi tu as "erreur avec le script php" alors que la seule phrase d' erreur que tu as dans le code est :

Problème lors de l'envoi du mail

Va falloir etre plus precis si tu veux qu' on t' aide efficacement, quelle est l' erreur qui s' affiche?
0
JFS77 Messages postés 437 Statut Membre 70
 
je crois que c'est flash qui indique l'erreur et non pas son script
0
mon code dans cation script de flash > JFS77 Messages postés 437 Statut Membre
 
Voilà mon code dans action scripte de flash je ne sais pas si c'est lui qui empêche de bon fonctionnement
Merci pour tout

import mx.controls.TextInput;
import mx.controls.TextArea;
import mx.controls.CheckBox;
import mx.controls.Button;

// On référence les occurences de compos pour profiter du typage strict
var tiNom:TextInput = this.nom_ti;
var tiPrenom:TextInput = this.prenom_ti;
var tiEmail:TextInput = this.email_ti;
var taCommentaire:TextArea = this.commentaire_ta;
var taSortie:TextArea = this.sortie_ta;
var cbLettre:CheckBox = this.lettre_cb;
var mcEnvoyer:Button = this.envoyer_mc;

// Initialisation des compos
taSortie["depthChild0"]._visible = false; // hack pour remplacer les 4 lignes ci-dessus
taSortie.setStyle("color", "0xB13501");
taSortie.setStyle("fontStyle", "italic");
taSortie.label.selectable = false;
cbLettre.label = "Recevoir la lettre d'information";

// Ordres de tabulation
tiNom.tabIndex = 1;
tiPrenom.tabIndex = 2;
tiEmail.tabIndex = 3;
cbLettre.tabIndex = 4;
taCommentaire.tabIndex = 5;
mcEnvoyer.tabIndex = 6;

var nom:String;
var prenom:String;
var email:String;
var recevoirLettre:Boolean;
var commentaire:String;

// Fonctions outils

function afficherEnSortie(pChaine:String):Void
{
taSortie.text = pChaine;
}

function reinitFormulaire():Void
{
tiNom.text = tiPrenom.text = tiEmail.text = taCommentaire.text = "";
cbLettre.selected = false;
}

function validerFormulaire ():String
{
nom = tiNom.text;
prenom = tiPrenom.text;
email = tiEmail.text;
commentaire = taCommentaire.text;
recevoirLettre = cbLettre.selected;

var erreurs:String = "";

if (nom == "") erreurs += "Merci de remplir le champ 'nom'" + newline;
if (prenom == "") erreurs += "Merci de remplir le champ 'prénom'" + newline;

if (email == "") erreurs += "Merci de remplir le champ 'email'" + newline;
else
{
var atIndex:Number = email.indexOf("@");
var dotIndex:Number = email.indexOf(".", atIndex);
trace(atIndex + " " + dotIndex);
if (atIndex == -1 || dotIndex == -1 || dotIndex - atIndex <= 1)
erreurs += "L'email n'est pas valide" + newline;
}
return erreurs;
}

function formerMessageText ():String
{
var message:String = "Formulaire :";
message += "Origine : " + this._url + "\r\n";
message += "Nom : " + nom + "\r\n";
message += "Prénom : " + prenom + "\r\n";
message += "Adresse email : " + email +"\r\n";
if (recevoirLettre)
message += "Personne souhaitant recevoir la lettre d'information.\r\n";
if (commentaire != "")
message += "Commentaire :\r\n";
message += commentaire;

return message;
}

function formerMessageHtml ():String
{
var message:String = "<html><head><style type='text/css'> p{font: 12px Arial} </style></head><body>";
message += "<h4>Formulaire : </h4>";
message += "<p>Origine : " + this._url + "</p>";
message += "<p>Nom : " + nom + "<br />";
message += "Prénom : " + prenom + "<br />";
message += "Adresse email : <a href='mailto:" + email + "'>" + email +"</a></p>";
if (recevoirLettre)
message += "<p>Personne souhaitant recevoir la lettre d'information.</p>";
if (commentaire != "")
message += "<p><u>Commentaire :</u><br />";
message += commentaire;
message += "</p></body></html>";

return message;
}

function envoyerMail ():Void
{
mcEnvoyer.enabled = false;

var envoyeur:LoadVars = new LoadVars();
var receveur:LoadVars = new LoadVars();

envoyeur.sujet = "Formulaire";
envoyeur.messageText = formerMessageText ();
envoyeur.messageHtml = formerMessageHtml ();
envoyeur.expediteur = prenom + " " + nom;
envoyeur.mailReponse = email;

receveur.onLoad = onMailEnvoye;

envoyeur.sendAndLoad("php/envoyer_mail.php", receveur, "POST");
afficherEnSortie("Envoi en cours...");
}

function onMailEnvoye (pSuccess:Boolean):Void
{
mcEnvoyer.enabled = true;
if (!pSuccess)
{
afficherEnSortie("Problème avec le script PHP.");
}
else if (this.erreurPHP == "")
{
afficherEnSortie("L'envoi s'est terminé avec succès.");
reinitFormulaire();
}
else
{
afficherEnSortie("Erreurs PHP : \n" + this.erreurPHP);
}
}
0
l'erreure
 
l'erreure qui s'affiche est : probleme avec le script php c'est ce qui est marquer je ne m'y connais pas du tout donc je ne sais pas comment être précis, mais sinon j'ai fais les manipulations précédentes et tjr le même message
0
marche tjr pas
 
L'erreure qui s'affiche est : probleme avec le script php c'est ce qui est marquer je ne m'y connais pas du tout donc je ne sais pas comment être précis, mais sinon j'ai fais les manipulations précédentes et tjr le même message
0