Accueil > Forum > > > > Problème avec "Send and load" - formulaire avec fichier php
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
|
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 :
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 :
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
|
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)

|
|
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
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|