Envoyer 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 déjà été décrite. J'indiquerai seulement les adaptations à effectuer.

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 dans un précédent exemple. Changez juste le X et le Y. J'indiquerai les scripts respectifs plus loin.

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;
}

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 .= 'MIME-Version: 1.0' . "\r\n"; // Type MIME
      $headers .= "Content-Type: text/html; charset=iso-8859-1\n";
      /* 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é.

 


Si vous aimez le site

 

Select a language if you need :


Page chargée en 0.025 sec.

Dernière Modification : Mer 25 Janvier 2017 8:56
Copyright © 1999-2017 Jean-Paul Molina Tous droits réservés.

vers Google