begin process at 2012 05 27 08:12:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Problème avec "Send and load" - formulaire avec fichier php


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème avec "Send and load" - formulaire avec fichier php

lundi 11 janvier 2010 à 23:27:44 | Problème avec "Send and load" - formulaire avec fichier php

BBFUNK01

Bonsoir à toutes et à tous,

je vous explique rapidement mon problème : je suis en train de bidouiller le script d'un formulaire e-mail afin de le transformer en une espèce de système de panier destiné à effectuer des commandes.
Ce système de panier fonctionne donc avec un player mp3, le but étant lorsque l'on clique sur le bouton "ajouter" ou "supprimer", d'ajouter au panier ou de supprimer du panier le morceau sélectionné dans la playlist.
J'ai donc mis en place un système permettant d'ajouter , de supprimer, et de modifier les prix des morceaux de la playlist.
Le système fonctionne bien, le problème survient lorsque je veux envoyer le contenu des champs de texte à mon fichier php, qui ensuite devrait si tout allait bien envoyer un e-mail.
J'ai beau chercher, je n'ai pas encore trouver la solution.

Voici mon code as2 pour la déclaration des variables à envoyer :
Code ActionScript :
function envoyerCommande() {
	// On crée les objets LoadVars nécessaires : un pour l'envoi et un pour la réception
	reception = new LoadVars();
	envoi = new LoadVars();
	// Fonction appelée quand l'objet LoadVars est utilisé
	reception.onLoad = function(succes) {
		if(succes) {
			// Si le php indique que l'envoi a été effectué
			if(this.retour == "OK"){
				info2 = "Votre commande a bien été envoyée";
				com1 = "Sélectionnez un morceau";
				prix1 = "0";
				com2 = "Sélectionnez un morceau";
				prix2 = "0";
				com3 = "Sélectionnez un morceau";
				prix3 = "0";
				com4 = "Sélectionnez un morceau";
				prix4 = "0";
				com5 = "Sélectionnez un morceau";
				prix5 = "0";
				com6 = "Sélectionnez un morceau";
				prix6 = "0";
				}
			}
			// Si le php indique une erreur lors de l'envoi
			if(this.retour == "ERREUR"){
				info2 = "Erreur lors de l'envoi de la commande";
		}
	}
	// Ici on définit les variables qui seront envoyées au script PHP
	// On peut en rajouter à loisir : envoi.nomdelavariable = xxx;
	envoi.nom = this._parent.panier.nomID.text;
	envoi.prenom = this._parent.panier.prenomID.text;
	envoi.phone = this._parent.panier.phoneID.text;
	envoi.expediteur = this._parent.panier.courrielID.text;
	envoi.destinataire = "mon adresse e-mail";
	envoi.objet = "Commande de musique libre de droit";
	envoi.com1 = this._parent.panier.commande1.text;
	envoi.prix1 = this._parent.panier.prix1.text;
	envoi.com2 = this._parent.panier.commande2.text;
	envoi.prix2 = this._parent.panier.prix2.text;
	envoi.com3 = this._parent.panier.commande3.text;
	envoi.prix3 = this._parent.panier.prix3.text;
	envoi.com4 = this._parent.panier.commande4.text;
	envoi.prix4 = this._parent.panier.prix4.text;
	envoi.com5 = this._parent.panier.commande5.text;
	envoi.prix5 = this._parent.panier.prix5.text;
	envoi.com6 = this._parent.panier.commande6.text;
	envoi.prix6 = this._parent.panier.prix6.text;
	envoi.prixtotal = this._parent.panier.calcul.text;
	// Enfin on appelle le script PHP en indiquant quel objet LoadVars appeler en retour
	envoi.sendAndLoad("commande.php", reception, POST);
}


voici mon code as2 pour le bouton "envoyer" du formulaire :
Code ActionScript :
this._parent.panier.commande_envoi.onRelease = function(){
				if (this._parent.panier.courrielID.text .indexOf("@") !=-1 && this._parent.panier.courrielID.text .indexOf(".") !=-1 && this._parent.panier.nomID.text !="" && this._parent.panier.prenomID.text !="" && ((this._parent.panier.phoneID.text != "") && (this._parent.panier.phoneID.text.length == 10)) && (this._parent.panier.commande1.text != "Sélectionnez un morceau" || this._parent.panier.commande2.text != "Sélectionnez un morceau" || this._parent.panier.commande3.text != "Sélectionnez un morceau" || this._parent.panier.commande4.text != "Sélectionnez un morceau" || this._parent.panier.commande5.text != "Sélectionnez un morceau" || this._parent.panier.commande6.text != "Sélectionnez un morceau")){
				envoyerCommande();
				info2 = "...envoi de votre commande en cours...";
				}if (this._parent.panier.courrielID.text .indexOf("@") ==-1 ||  this._parent.panier.courrielID.text .indexOf(".") ==-1){
				info2 = "E-MAIL INVALIDE !";
				}if (this._parent.panier.courrielID.text == ""){
				info2 = "Votre e-mail s.v.p.";
				}if (this._parent.panier.phoneID.text == ""){
				info2 = "Votre N° de téléphone s.v.p.";
				}if (this._parent.panier.nomID.text == ""){
				info2 = "Votre nom s.v.p.";
				}if (this._parent.panier.prénomID.text == ""){
				info2 = "Votre prénom s.v.p.";
				}if ((this._parent.panier.commande1.text == "Sélectionnez votre morceau") && (this._parent.panier.commande2.text == "Sélectionnez votre morceau") && (this._parent.panier.commande3.text == "Sélectionnez votre morceau") && (this._parent.panier.commande4.text == "Sélectionnez votre morceau") && (this._parent.panier.commande5.text == "Sélectionnez votre morceau") && (this._parent.panier.commande6.text == "Sélectionnez votre morceau")){
				info2 = "Vous devez sélectionner un morceau";
				}if ((this._parent.panier.phoneID.text.length == 1) || (this._parent.panier.phoneID.text.length == 2) || (this._parent.panier.phoneID.text.length == 3) || (this._parent.panier.phoneID.text.length == 4) || (this._parent.panier.phoneID.text.length == 5) || (this._parent.panier.phoneID.text.length == 6) || (this._parent.panier.phoneID.text.length == 7) || (this._parent.panier.phoneID.text.length == 8) || (this._parent.panier.phoneID.text.length == 9)){
				info2 = "N° de téléphone incorrect";
				}
			}


Voici également le lien de l'animation pour avoir un aperçu (pour tester le formulaire, cliquez sur la playlist "rock" car je n'ai pas mis en ligne les morceaux des autres playlits):
panier / jukebox

Petite précision : j'ai essayé de mettre sur mon bouton "commande_envoi" :
Code ActionScript :
this._parent.panier.commande_envoi.onRelease = function(){
info2 = "blablabla";
}

Et le champ de texte dynamique affiche bien "blablabla", alors que dans mon code plus haut, le champ de texte "info2" n'affiche rien, et rien ne se passe.

Voici également le code de mon php, mais je ne pense pas que le souci vienne de là... mais je peux me tromper :
Code PHP :
<?php
// On récupère les infos envoyé par le flash
$expediteur = $_POST['expediteur'];
$destinataire = $_POST['destinataire'];
$objet = $_POST['objet'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$phone = $_POST['phone'];
$com1 = $_POST['com1'];
$prix1 = $_POST['prix1'];
$com2 = $_POST['com2'];
$prix2 = $_POST['prix2'];
$com3 = $_POST['com3'];
$prix3 = $_POST['prix3'];
$com4 = $_POST['com4'];
$prix4 = $_POST['prix4'];
$com5 = $_POST['com5'];
$prix5 = $_POST['prix5'];
$com6 = $_POST['com6'];
$prix6 = $_POST['prix6'];
$total = $_POST['prixtotal'];

// Fonction de mise en forme du texte (caractères spéciaux, retours à la ligne, etc...)
function decoder($texte){
	$texte = utf8_decode($texte);
	$texte = str_replace("\r", "\n", $texte);
	$texte = str_replace("\'", "'", $texte);
	return $texte;
}
// Mise en forme du contenu du message et de l'objet
$objet = decoder($objet);
$contenu_complet = "\nNom : ".decoder($nom)."\n"."\nPrénom : ".decoder($prenom)."\n"."\nTéléphone : ".decoder($phone)."\n"."\n".decoder($com1)." - Prix : ".decoder($prix1)."\n".decoder($com2)." - Prix : ".decoder($prix2)."\n".decoder($com3)." - Prix : ".decoder($prix3)."\n".decoder($com4)." - Prix : ".decoder($prix4)."\n".decoder($com5)." - Prix : ".decoder($prix5)."\n".decoder($com6)." - Prix : ".decoder($prix6)."\n"."\nTotal : ".decoder($total);
// Headers
$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; 
$headers .= "From: $expediteur <$expediteur>\r\nReply-to : $expediteur <$expediteur>\nX-Mailer:PHP"; 
// On envoie le mail avec un test if pour savoir si ca a fonctionné ou pas
if(mail($destinataire,$objet,$contenu_complet,$headers)) {
// Si c'est bon, on envoie ceci à flash
echo "&retour=OK&";

       $answer = "Votre message a bien été envoyé, j'y\n

	              répondrai dans les plus brefs délais.\n\n
				  Cordialement,\n\n
				  BBFUNK01\n
				  http://www.monsite.com\n
				  mon adresse e-mail\n
				  Tél.: 00.00.00.00.00\n
				  Mobile: 00.00.00.00.00";

       // Headers
       $headers = "MIME-Version: 1.0\r\n"; 
       $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
       $headers .= "From: mon adresse e-mail\r\n";
       mail( $_POST['expediteur'], "ACCUSE DE RECEPTION - BBFUNK01", stripslashes($answer)."\n\n", $headers);
	   
// qui interpretera ca comme l'envoi de la variable retour (voir le flash)
} else { 
// Pareil si ca a échoué
echo "&retour=ERREUR&"; 
} 
?>


...Donc si jamais vous décelez des erreurs dans mes scripts, n'hésitez pas à m'en faire part.

Merci,

BBFUNK01
mardi 12 janvier 2010 à 07:41:19 | Re : Problème avec "Send and load" - formulaire avec fichier php

crackter

salut :),

il y a des espaces avant les indexOf je sais pas si c'est pas le copier/coller par contre. Je ne peux pas lire également les lignes trop longue car elles dépassent donc je ne sais pas ce que tu as mis comme conditions (et ton problème doit venir de là).

n'hésite pas si j'ai 5min à me contacter par msn (puisque tu a mon adresse ).
mardi 12 janvier 2010 à 09:12:56 | Re : Problème avec "Send and load" - formulaire avec fichier php

BBFUNK01

Salut Crackter, bonne année et meilleurs voeux !

Pour mon souci du coup j'ai trouvé (en partie) la solution juste après avoir posté hier soir :
en fait pour pouvoir envoyer les données et donc afficher le champ "info2", il m'a suffit de modifier quelques conditions de vérif. dans ma fonction "commande_envoi.onRelease", du genre en modifiant :
Code ActionScript :
this._parent.panier.phoneID.text.length == 10

...par :
Code ActionScript :
this._parent.panier.phoneID.text.length = 10


et bien là, l'e-mail est correctement envoyé, par contre le contrôle au niveau du contenu des champs ne fonctionne plus correctement et là je n'ai pas encore trouvé la solution.
J'avais fait un formulaire e-mail tout bête avec des champs de saisie qui étaient nommés comme variable et non comme occurrence (hormis le champ "phone" qui contenait le paramètre "phone.restrict"), et au niveau du contrôle de mes champs j'utilisais des scripts du genre :
Code ActionScript :
if nom == ""{info = "Entrez votre nom s.v.p."}

Mais en nommant les champs par une occurrence ça ne marche pas de la même manière, j'ai l'impression que le "==" ne passe pas et qu'il faut utiliser le "=" seul, mais évidemment le contrôle est moins strict.

Bref, je gratte dessus, j'essaie de voir si tu es dispo sur msn ce matin au cas où.
Au fait comment tu trouves le design de ma page ?

A plus,

BBFUNK01
mardi 12 janvier 2010 à 09:54:07 | Re : Problème avec "Send and load" - formulaire avec fichier php

Orange73

Membre Club
Hello,

Code ActionScript :
if(nom.text == ""){
     info.text = "Entrez votre nom s.v.p."
}


A+

-- Orange73 --

"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)

mardi 12 janvier 2010 à 09:55:33 | Re : Problème avec "Send and load" - formulaire avec fichier php

crackter

re,

je ne suis pas chez moi jusqu'à ce soir donc msn pas avant ce soir.

Pour ton soucis, toto=1 et toto==1, c'est totalement différent. Le premier est une affectation, le deuxième une condition.
Si tu as ton champ de texte nommé dans occurrence (et non variable) par exemple nom, pour pouvoir accéder au texte de ce champ texte, il faut faire :

Code ActionScript :
if (nom.text == "") { info.text = "rentrez un nom" }

et non

if (nom == "") {info = "rentrez un nom" }


Comme on en avait déjà discuté, variable ne sert que pour raccorder un champ texte avec un nom de variable utilisé dans ton code, mais proscris le, ce n'est plus utilisé.
Utilise bien le champ occurrence dans les propriétés du champ texte, et utilise bien monChampTexte.text pour pouvoir accéder à sa valeur.
mardi 12 janvier 2010 à 10:01:25 | Re : Problème avec "Send and load" - formulaire avec fichier php

BBFUNK01

Re Crackter,

ok, je vais essayer comme ça.

Merci,

je te recontacte ce soir si jamais je galère.

Bonne journée ! :)

BBFUNK01
mardi 12 janvier 2010 à 10:21:37 | Re : Problème avec "Send and load" - formulaire avec fichier php

BBFUNK01

Re Crackter et Orange73,

j'ai essayé en faisant tel que vous me l'avez indiqué mais le champ n'affiche rien.

Avant je faisais comme ça :

je définissais ma variable "info2" comme ceci au début de ma fonction :
Code ActionScript :
info2 = "";


ensuite je définissais le contenu de mon texte comme étant = à ma variable "info2" comme ceci :
Code ActionScript :
this._parent.panier.message2.text = info2;


Et là mon champ s'affiche en fonction des différentes conditions, le problème c'est que même si les champs ne sont pas tous remplis correctement, le champ affiche le message d'erreur mais l'email est quand même envoyé.

Bref, pour votre méthode, est-ce que je dois définir le champ "this._parent.panier.message2.text" d'une certaine manière au début de mon code ?

J'ai essayé en mettant :
Code ActionScript :
this._parent.panier.message2.text = "";
au début de mon code mais sans succès.

Merci,

BBFUNK01
mardi 12 janvier 2010 à 11:37:33 | Re : Problème avec "Send and load" - formulaire avec fichier php

crackter

Code ActionScript :
var info2:String = "";

est plus correct.

Ensuite lorsque tu fais la vérification, la fais-tu sur les champs de texte ou sur les variables ? si c'est sur les variables, as-tu en premier lieu copier le contenu des champs texte dans les variables ?

tu pourrai faire un truc du genre :

Code ActionScript :
function validerEnvoi() {
	var mailID:String = monChampTexteMail.text;
	var nomID:String = monChampTexteNom.text;
	if (mailID=="") {
		info2 = "rentrez un mail";
	} else if (nomID=="") {
		info2 = "rentrez un nom";
	} else {
		// par d'erreur -> faire procédure pour envoyer le message
		return;
	}
	maZoneTexteDInfo.text = info2;
}
mardi 12 janvier 2010 à 20:40:05 | Re : Problème avec "Send and load" - formulaire avec fichier php

BBFUNK01

Re Crackter,

je viens de rentrer du boulot, en fait je n'ai pas procéder comme ça,
comme je te l'avais dit dans un post plus haut, mes champs de textes sont définis avec des occurrences, mais sans variables.
Le champ de message d'erreur est également défini avec une occurrence.

Pour effectuer mes contrôles, j'ai procédé comme ça :

Code ActionScript :
if (monchampeNom.text == "" or monchampNom.text == "Nom"){
info2 = "entrez votre nom svp";
}

if (monchampPhone.text == "" or monchampPhone.text == "N° de Tél."){
info2 = "entrez votre N° de Tél. svp";
}


Tout en sachant que je déclare plus haut dans mon script :
Code ActionScript :
info2 = "";
monchampErreur.text = info2";


Mais il est vrai que je n'ai pas pensé à déclarer une variable pour chaque champ texte à contrôler en haut de mon script, peut-être qu'en creusant j'arriverai à "bloquer" l'envoi si toutes les conditions ne sont pas remplies.

Je vais essayer comme tu me l'as indiqué, et je te redis si ça marche ou pas.

Merci,

BBFUNK01
mercredi 13 janvier 2010 à 09:54:31 | Re : Problème avec "Send and load" - formulaire avec fichier php

Orange73

Membre Club
Peux-tu essayer comme cela :

Code ActionScript :
info2.text = "";

this._parent.panier.commande_envoi.onRelease = function(){
     if (this._parent.panier.courrielID.text .indexOf("@") ==-1 || this._parent.panier.courrielID.text .indexOf(".") ==-1){
          info2.text = "E-MAIL INVALIDE !";
     }

     if (this._parent.panier.courrielID.text == ""){
          info2.text = "Votre e-mail s.v.p.";
     }

     if (this._parent.panier.phoneID.text == ""){
          info2.text = "Votre N° de téléphone s.v.p.";
     }

     if (this._parent.panier.nomID.text == ""){
	  info2.text = "Votre nom s.v.p.";
     }

     if (this._parent.panier.prénomID.text == ""){
          info2.text = "Votre prénom s.v.p.";
     }

     if ((this._parent.panier.commande1.text == "Sélectionnez votre morceau") && (this._parent.panier.commande2.text == "Sélectionnez votre morceau") && (this._parent.panier.commande3.text == "Sélectionnez votre morceau") && (this._parent.panier.commande4.text == "Sélectionnez votre morceau") && (this._parent.panier.commande5.text == "Sélectionnez votre morceau") && (this._parent.panier.commande6.text == "Sélectionnez votre morceau")){
          info2.text = "Vous devez sélectionner un morceau";
     }

     if ((this._parent.panier.phoneID.text.length == 1) || (this._parent.panier.phoneID.text.length == 2) || (this._parent.panier.phoneID.text.length == 3) || (this._parent.panier.phoneID.text.length == 4) || (this._parent.panier.phoneID.text.length == 5) || (this._parent.panier.phoneID.text.length == 6) || (this._parent.panier.phoneID.text.length == 7) || (this._parent.panier.phoneID.text.length == 8) || (this._parent.panier.phoneID.text.length == 9)){
          info2.text = "N° de téléphone incorrect";
     }

     if(info2.text == ""){
          envoyerCommande();
          info2.text = "...envoi de votre commande en cours...";
     }
}



-- Orange73 --

"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)


1 2 3

Cette discussion est classée dans : text, envoi, morceau, parent, panier


Répondre à ce message

Sujets en rapport avec ce message

Problème d'affichage du temps sur player mp3 [ par BBFUNK01 ] Salut à toutes et à tous, je suis en train de modifier mon player mp3 afin de permettre de lire les mp3 en progressiv download. Je suis donc parvenu formulaire mail AS2 + PHP [ par _Nuttela_ ] Bonjour, voilà mon soucis;je travail sur un formulaire mail avec flash; cependant j'ai un léger problème, lorsque je rempli les champs du formulaire c envoi mail par flash [ par mehdib4 ] Bonjour, je vous explique mon problème : je veux envoyer un mail a partir d'un site flash. es que quel qu'un peut m'aider SVP ? voila mon script: acti comment savoir si flach envoi des donner ou pas? [ par mehdib4 ] bonjour, j ai fais un petit site en flash et j ai des problèmes avec l'envoie du mail normalement le flash envoi des donne au fichier php mais le prob envoie de variable vers fichiers php [ par tibo_bzh ] Bonsoir à tous,J'essaie actuellemnt d'intégrer un formulaire mail dans mon site flash. J'ai regarder un peu partout sur le site ce que chacun proposai Problème pour "boutons.enabled = false" [ par BBFUNK01 ] Bonsoir à toutes et à tous, je suis en train de rédiger un code pour créer petit système de panier dans Flash et pour cela j'ai besoin à un moment qu formulaire flash/php [ par yuppin ] bonjour !voila je commence tout juste a faire un peu de flash et me voila confronté a un probleme...mon formulaire flash ne me renvoie pas de donnée . Soucis avec un formulaire AS/php [ par ROTTpyk74460 ] Bonjour, Suite a différentes recherche sur la "toile", je me retourne vers vous car j'ai un enorme besoin de vos lumière. Je créer un site internet Array multidimensionnel et variables... et les limites de flash [ par BBFUNK01 ] Bonjour à toutes et à tous, je vous explique rapidement mon souci : j'ai fait un lecteur mp3 multiplaylistes, et je suis en train de mettre en place Probleme de verification de données dans une bdd [ par tonic1 ] Bonjour à tous, débutant en flash, je m efforce de créer un formulaire dont les champs saisies seront vérifiés dans une base de données, et une variab


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales