Rechercher : dans
Par :

Formulaire flash et PHP

Dernière réponse le 6 sep 2008 à 22:49:58 Toinousp, le 27 fév 2008 à 19:56:46 
 Signaler ce message aux modérateurs

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); // &#8730;©limine les anti-slashs d'&#8730;©chappement
        $texte = nl2br($texte); // converti les retours  en <br />
        $texte = trim($texte); // &#8730;©limine les '\n', '\r', '\t' etc
        return $texte;
}
 
function decoder($texte){
        $texte = utf8_decode($texte); // converti en iso-8859-1
        $texte = stripslashes($texte); // &#8730;©limine les anti-slashs d'&#8730;©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&#8730;®me lors de l'envoi du mail";
		
	}
	echo utf8_encode("erreurPHP=".$erreurPHP);
}
?>


Je vous remercie d'avance pour vos réponse.
s'il vous manque des infos demandez moi !!
Cordialement
Toinousp
Configuration: Mac OS X
Safari 523.15

Meilleures réponses pour « Formulaire flash et PHP » dans :
[Webmaster] Un formulaire de contact pour votre site VoirCe formulaire permet d'avoir une page pour être contacté sur son site, sans utiliser de logiciel de messagerie. La personne qui vous contacte indique son adresse, l'objet du message et son message (évidemment). Le code est une version...
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...
Introduction à PHP VoirQu'est-ce que PHP? PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP, ...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La...

1

le père, le 28 fév 2008 à 09:06:54

Bonjour

S'il te met "erreurPHP=" sans rien d'autre après, c'est justement que tout est ok.
j'ai fait du copier coller ça n'est absolument pas une garantie de succès ! Surtout pas si tu le fais sans comprendre ce que tu recopies.

Répondre à le père

2

Toinousp, le 29 fév 2008 à 20:16:08

Je ne reçoit pourtant aucun mail !

Répondre à Toinousp

3

le père, le 1 mar 2008 à 00:33:37

Bonsoir

As-tu fait un echo $to ,' ', $sujet,'<BR>'; juste avant l'envoi du mail pour vérifier tes paramètres ?
en particulier, ton

$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

Répondre à le père

4

Toinousp, le 1 mar 2008 à 13:30:24

Bonjour,
J'ai donc changer mon script php ce qui me donne ceci :

<?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

Répondre à Toinousp

7

beijhun, le 12 jui 2008 à 16:07:54

Bonjour,

je me trouve confronter au même problème, avec ce même script qui paraissait pourtant alléchant. Avez vous réussi à résoudre le problème?

de l'eau à couler sous les ponts depuis ce post, mais au cas où...

merci ++

Répondre à beijhun

8

Dens, le 5 sep 2008 à 10:10:51

Salut,

J'ai aussi le même soucis avec le même tuto et me casse la tete depuis 3 jours pour trouver un foutu formulaire en flash qui fonctionne.

As-tu trouvé une solution, si oui merci de tes pistes ou de ton script

Merci d'avance

Répondre à Dens

9

beihjun, le 6 sep 2008 à 22:23:19

Ce script a fini par fonctionner lorsque j'ai souscrit à un hébergement payant chez ovh où ce langage était supporté. tout ce que je peux te dire.

Répondre à beihjun

5

le père, le 1 mar 2008 à 22:21:54

Bonsoir

$to = "toinousp@gmail.com","contact@toinousp.fr"; n'est guère mieux...
Ni fait de 'echo' de tes variables pour vérifier qu'elles ont bien les valeurs que tu crois...

Répondre à le père

6

Chrisix, le 1 mar 2008 à 22:47:16

B'soir... $to = "toinousp@gmail.com; contact@toinousp.fr"; ira déjà mieux

Répondre à Chrisix

10

 olivier, le 6 sep 2008 à 22:49:58

Bonjour, la première chose à vérifier est que l'hébergeur n'a pas désactiver la fonction mail native de php.
Pour ça un php_info(), si je ne me trompe pas te révèlera la configuration du serveur et les fonctions prises en charge.
Certains font le choix de désactiver mail() car il pourrait être détourné de sons usage et être utilisé dans dans script a vocation de spamming.
Cordialement

Répondre à olivier
Collection CommentÇaMarche.net