HOME SwishMax est une marque déposée Vers le bas de la page

Envoyer données formulaire SWF par mail PHP

 On se propose de montrer comment envoyer les données recueillies
 depuis un formulaire SWF en utilisant la fonction mail dans un script PHP. 

 La création du formulaire a été décrite ICI. Un autre exemple a été étudié .
 J'indiquerai seulement les adaptations à effectuer.

Partie 1 : Création des Objets.

Vous devrez réaliser quelquechose comme çà : 1 - Définissez les dimensions générales 640x480 ainsi que la couleur du fond #000066. Prenez un Frame Rate quelconque. 2 - C'est quasiment la même chose que pour l'exemple cité en premier. Le tout en images !


  Le bouton Reset servira à nettoyer le formulaire.

  Le bouton Envoyer sert à informer le script PHP qui, lui, servira de facteur. 

 Tous les textes field_..... seront de type INPUT, réservés pour les entrées de données.


 Je vais insister surtout sur la création du bouton radio qui permettra de
 sélectionner Mr ou Mme ou Melle.

 Les boutons 
 Monsieur, 
 Madame, 
 Maidchen 
 seront créés pour permettre d'effectuer le choix de Civilité.

3 - Suivez bien les images de création et reproduisez.
Cadre = rectangle
CADRE CADRE
Barre de Titre = rectangle
BARRE TITRE BARRE TITRE
Titre = texte statique
COURRIER COURRIER
Civilité = texte statique
CIVILITE CIVILITE
4 - Bouton Monsieur : On crée un texte et le cercle de fond.
texte statique
Texte MONSIEUR Texte MONSIEUR
Cercle
CERCLE MONSIEUR CERCLE MONSIEUR
5 - Les 2 sont regroupés en un bouton BOUTON MONSIEUR La couleur du texte est changée au survol (Over) 6 - Pour le bouton Madame, même procédé mais on change la position X : texte : X = 228 cercle X = 215 7 - Pour le bouton Maidchen, même procédé mais on change la position X : texte : X = 298 cercle X = 285 8 - On crée ensuite le point de sélection : c'est lui qui se déplacera quand un des 3 boutons sera cliqué.
Cercle
DOT DOT
9 - Maintenant, les labels des champs :
Texte statique
LABEL LABEL
10 - Tous les champs de saisie : (respectez bien le nom des variables dynamiques)
NOM
NOM NOM
PRENOM
PRENOM PRENOM
VILLE
VILLE VILLE
SUJET
SUJET SUJET
MESSAGE
MESSAGE MESSAGE
11 - Bon, je vous laisse le soin de créer les boutons Envoyer et Reset tels qu'ils ont été décrits ICI Changez juste le X et le Y. J'indiquerai les scripts respectifs plus loin.

Partie 2 : Scripts SwishMax.

Dans Outline, sélectionnez Scene_1, passez en Mode Expert. Entrez le script suivant : function reset() { // réinitialise le bouton radio et les variables dot._X = 154; civil = "Monsieur"; nom= ""; prenom= ""; ville= ""; sujet= ""; message= ""; } onLoad () { // initialise le bouton radio dot._X = 154; // centre du bouton radio sur Mr civil = "Monsieur"; } onFrame (20,afterPlacedObjectEvents) { stop(); } Dans Outline, sélectionnez le bouton Reset Entrez le script suivant : on(press) { _root.reset(); gotoSceneandPlay("<current scene>",1); } Dans Outline, sélectionnez le bouton Envoyer Entrez le script suivant : on(press) { // les variables x...... sont récupérées par PHP xcivil = civil; xnom = nom; xprenom = prenom; xville = ville; xsujet = sujet; xmessage = message; // envoie au script PHP _root.loadVariablesNum("mail.php",0,'POST'); gotoSceneandPlay("<current scene>",1); } Dans Outline, sélectionnez le bouton Maidchen Entrez le script suivant : on (press) { _root.civil = "Melle"; // affecte une valeur à la variable _root.dot._X= 285; // centre du bouton radio } Dans Outline, sélectionnez le bouton Madame Entrez le script suivant : on (press) { _root.civil = "Madame"; _root.dot._X= 215; } Dans Outline, sélectionnez le bouton Monsieur Entrez le script suivant : on (press) { _root.civil = "Monsieur"; _root.dot._X= 154; }

Partie 3 : Script PHP.

Avec votre éditeur de texte favori, entrez : <? // xcivil, xnom, xprenom, xville, xsujet, xmessage viennent du SWF $data = array(); $data[0] = $_POST['xcivil'] ; $data[1] = $_POST['xnom'] ; $data[2] = $_POST['xprenom'] ; $data[3] = $_POST['xville'] ; $data[4] = $_POST['xsujet'] ; $data[5] = $_POST['xmessage'] ; /* si tous les champs sont remplis, on continue on ne teste pas la civilité */ $checksum = 0; for ($i=1; $i<6; $i++) { if ($data[$i] != "") { // enlève les balises html et se protège des car spéciaux $data[$i] = AddSlashes(strip_tags($data[$i])); $checksum++; } } if ( $checksum == 5 ) { // tout est rempli on expédie $to = "moi@mondomaine.kekpart"; // remplacer par votre adresse mail $expediteur = "Chepaqui"; // expéditeur pas défini ! /* D'autres en-têtes : errors, From cc's, bcc's, etc */ $headers = "From:".$expediteur."\r\n"; $headers .= "X-Sender: \n"; // .= signifie concaténation $headers .= "X-Mailer: \n"; // mailer $headers .= "X-Priority: 1\n"; // Message urgent! $headers .= "Return-Path: \n"; // chemin de retour pour les erreurs $headers .= "Content-Type: text/html; charset=iso-8859-1\n"; // Type MIME /* et hop, à la poste On écrit,au format html, par exemple : Mr Jules César de Rome écrit */ $texte = "<html>".$data[0]." ".$data[2]." ".$data[1]." de ".$data[3]." écrit<br>"; // texte du message ( point = concaténation ) $texte .= "<br>".$data[5]."</html>"; // ??? votre hébergeur accepte-t'il la fonction PHP mail ??? @mail ($to, $data[4], $texte, $headers);// @ pour éviter affichage message d'erreur du serveur } // fin if checksum else echo '<SCRIPT language="JAVASCRIPT">alert("Veuillez remplir tous les champs");</SCRIPT>'; ?> Sauvez ce fichier sous le nom mail.php ( même nom que dans le script SwishMax ) Mettez tout çà dans le même répertoire du serveur. ( Vous pouvez tester en local si vous avez un serveur Apache et PHP installé )




   
Retour MENU

Vers le haut de la page
Retour vers la page d'accueil de koi29

Dernière Modification : Sam 10 Avril 2010 6:53
Copyright © 1999-2010 Jean-Paul Molina Tous droits réservés.