Faire fonctionner mon formulaire de contact

Fermé
garyls - 18 févr. 2010 à 12:12
 mon code dans cation script de flash - 18 févr. 2010 à 15:56
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 385 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 15 décembre 2015 70
18 févr. 2010 à 12:14
tu peux afficher l'erreur ?
0
Il me marque probleme avec le script PHP
0
JFS77 Messages postés 385 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 15 décembre 2015 70
18 févr. 2010 à 13:38
essai d'initialiser les variables de ton mail
0
je ne sais pas comment on procède, je suis nouveau c'est pour cela
0
JFS77 Messages postés 385 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 15 décembre 2015 70
18 févr. 2010 à 14:05
ajoute ca après $erreurPHP="";


$sujet = "";
$messageHtml = '"";
$messageText = "";
$expediteur = """;
$mailReponse = "";
0
je vais le faire
18 févr. 2010 à 14:09
merci par avance camarade, je vais le faire et je te redirais ce qu'il en ai, grand merci
0
JFS77 Messages postés 385 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 15 décembre 2015 70
18 févr. 2010 à 14:11
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
18 févr. 2010 à 14:25
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 385 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 15 décembre 2015 70
18 févr. 2010 à 14:30
je ne connais pas flash je connais uniquement php mais je vois pas d'erreur dans le script
0
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 6430 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 2 017
18 févr. 2010 à 14:45
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 385 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 15 décembre 2015 70
18 févr. 2010 à 14:46
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 385 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 15 décembre 2015
18 févr. 2010 à 15:56
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 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
18 févr. 2010 à 15:51
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