login
damien
login
Le 14 mars 2010 à 9 h 01 min   

Il est parfois nécessaire d’envoyer des variables vers un script sur un serveur, afin de stocker certaines données dans une base de données par exemple. Cela est possible avec la méthode send() (ou sendAndLoad()) de l’objet LoadVars. Dans cet article, nous allons travailler avec la fonction sendAndLoad() d’ActionScript.

Pour ce premier tutorial sur Flash et ActionScript, nous allons mettre en place une application Flash pour notre vétérinaire sous la forme :

  • Un formulaire Flash qui demande : le prénom de l’animal, sa race, son âge et son propriétaire
  • Un fichier « reponse.as » qui contiendra le code ActionScript
  • Un fichier « reponse.php » qui contiendra le code PHP

Le formulaire Flash fonctionne de la façon suivante :

  • L’utilisateur indique les informations
  • L’utilisateur clique sur le bouton
  • Les données sont testées
  • Les données sont envoyées au script PHP
  • PHP traite les données et envoit des données au sujet du traitement
  • Flash confirme le traitement



Pour la partie ActionScript (fichier : « reponse.as »)

/*
###
# Envoyer des données vers de FLASH vers PHP
# Récupérer les données de PHP vers FLASH
###
*/

// Importer les bibliothèques utiles au script
import mx.controls.Alert;

// Définir le thème de l'animation
_global.style.setStyle("themeColor", "haloBlue"); // Ici, le thème "haloBlue"

// Définir les variables utiles
var cPrenom = "";
var cRace = "";
var cAge = "";
var cChoix = "";
var cProprietaire = "";

// Gestion du clic sur le bouton
monBtn.onPress = function() {
	// Test du clic (uniquement dans l'IDE Flash)
	trace("On a appuyé sur le bouton");
	// On instancie 2 variables pour gérer les erreurs
	var erreurChamps = "Vous avez oublié de saisir : \n";
	var erreurMsg = false;
	// On vérifie si les champs sont remplis
	if ((tPrenom.text == "") || (tPrenom.text == undefined)) {
		erreurChamps += "- Le prénom\n";
		erreurMsg = true;
	}
	if ((tRace.text == "") || (tRace.text == undefined)) {
		erreurChamps += "- La race\n";
		erreurMsg = true;
	}
	if ((tAge.text == "") || (tAge.text == undefined)) {
		erreurChamps += "- L'âge\n";
		erreurMsg = true;
	}
	if ((tProprietaire.text == "") || (tProprietaire.text == undefined)) {
		erreurChamps += "- Le propriétaire\n";
		erreurMsg = true;
	}
	// On affiche le message dans l'alert
	if (erreurMsg == true) {
		Alert.show(erreurChamps);
	}

	// On transmet les données à PHP
	else {
		var lvEnvoieDonnees:LoadVars = new LoadVars();
		// Affectation des données aux variables de transmission
		lvEnvoieDonnees.prenom = tPrenom.text;
		lvEnvoieDonnees.race = tRace.text;
		lvEnvoieDonnees.age = tAge.text;
		lvEnvoieDonnees.choix = tChoix.selectedItem.label;
		lvEnvoieDonnees.proprietaire = tProprietaire.text;
		var lvRecoieDonnees:LoadVars = new LoadVars();
		lvRecoieDonnees.onLoad = function(ok:Boolean):Void {
  			// On récupère les variables depuis PHP
			cPrenom = lvRecoieDonnees.prenom;
			cRace = lvRecoieDonnees.race;
			cAge = lvRecoieDonnees.age;
			cProprietaire = lvRecoieDonnees.proprietaire;
			cTransmission = lvRecoieDonnees.tranmission;
			Alert.show("Données reçues depuis PHP");

		}
		lvEnvoieDonnees.sendAndLoad("http://blog.damienvidal.net/tutoriaux/flash/sendandload/reponse.php", lvRecoieDonnees);
	}

}

Pour la partie PHP (fichier : « reponse.php »)


/*
###
#	Réception des données depuis l'application FLASH
# 	Transmission de données vers l'application FLASH
###
*/

// Récupérer les données envoyées par FLASH
$prenom = $_GET["prenom"];
$race = $_GET["race"];
$age = $_GET["age"];
$choix = $_GET["choix"];
$proprietaire = $_GET["proprietaire"];

// Variables utiles
$detecter = false;

// Vérifier que les données ne sont pas à vide lors de la transmission!
if (empty($prenom)) {
	$msgErreur = "- Prénom vide\n";
	$detecter = true;
}
if (empty($race)) {
	$msgErreur .= "- Race vide\n";
	$detecter = true;
}
if (empty($age)) {
	$msgErreur .= "- Age vide\n";
	$detecter = true;
}
if (empty($proprietaire)) {
	$msgErreur .= "- Propriétaire vide\n";
	$detecter = true;
}
// On retourne une variable pour indiquer si les variables sont correctes (erreur?)
if ($detecter == true) {
	echo "&erreur=oui";
}
else {
	echo "erreur=non";
	echo "&prenom=oui";
	echo "&race=oui";
	echo "&age=oui";
	echo "&proprietaire=oui";
}

// Enregistrer les données
/* Ici, on peut mettre une syntaxe pour enregistrer
les données reçues dans une base de données par exemple */

// On retourne une variable pour indiquer que la transmission a eu lieu
echo "&tranmission=oui";

Voici la source : Fichier ZIP (à ouvrir avec Flash8 minimum)

Pas de commentaire »

  1. Pas encore de commentaire.

Flux RSS des commentaires de cet article. TrackBack URL

Laisser un commentaire

Vous devez être connecté pour rédiger un commentaire.

Propulsé par WordPress   |   Template réalisé par Graphical Dream
Haut de page


Referencement Gratuit