IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

Ajouter un champ de variable à envoyer à PHP


Sujet :

Flash

  1. #1
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut Ajouter un champ de variable à envoyer à PHP
    Bonjour tout le monde.

    J'ai un code FLASH pour télécharger un fichier via PHP. Le code marche nickel. Ce que j'aimerais faire, c'est d'ajouter un champ nom et un champ email au FLASH Quelqu'un peut m'aider? Le traitement au niveau PHP ne pose pas de prob si vous m'aidez à envoyer les deux variables via FLash.

    Voici le code Flash
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
     
    import flash.net.FileReference;
    import flash.net.FileReferenceList;
    var listener:Object = new Object();
     
     
    //============================================================================
    // Définition des constantes du script
    //============================================================================
    fileURL = "upload.php";
    MaxSize =40000000;
    //fileURL = "/cgi-bin/upload.pl";
    //MaxSize = -1;
     
     
    //============================================================================
    // Formatage de la taille des fichiers
    //============================================================================
    function GetSizeFormat(Size:Number){
      if (Size >= 1000) 
        return Math.floor(Size/1000) + " Ko";
      else
        return Size + " octets";
    }
     
    //============================================================================
    // Sélection des fichiers + uploader la liste des fichiers
    //============================================================================
    listener.onSelect = function(fileRefList:FileReferenceList) {
      browse_btn.enabled = false;
      trace("onSelect");
      var list:Array = fileRefList.fileList;
      var file:FileReference;
      for(var i:Number = 0; i < list.length; i++) {
        file = list[i];
        trace("name: " + file.name);
        trace(file.addListener(this));
        if ((file.size <= MaxSize) or (MaxSize < 0)) {
    	  file.upload(fileURL);
    	} else {
    	  var item:Object = new Object();
          item.FileSize = "Annule";
          item.FileName = file.name;
          grid.addItem(item);
        }
      }
    }
     
    //============================================================================
    // Annulation du dialogue d'ouverture de fichiers
    //============================================================================
    listener.onCancel = function():Void {
      trace("onCancel");
      browse_btn.enabled = true;
      stat.text = "";
    }
     
    //============================================================================
    // Evénement d'ouverture d'un fichier
    //============================================================================
    listener.onOpen = function(file:FileReference):Void {
      trace("onOpen: " + file.name);
    }
     
    //============================================================================
    // Affichage de la progression
    //============================================================================
    listener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
      if (bytesTotal == -1) 
        stat.text = "Impossible de determiner le poids du fichier "+file.name;
      else {
        stat.text = "Telechargement de " + file.name + " : " +
    	  Math.floor((bytesLoaded/file.size)*100) + "% of " +
    	  GetSizeFormat(file.size);
        browse_btn.enabled = false;
      }
    }
     
    //============================================================================
    // Téléchargement completé
    //============================================================================
    listener.onComplete = function(file:FileReference):Void {
      trace("onComplete: " + file.name);
      stat.text = "Le transfert est maintenant termine !";
      browse_btn.enabled = true;
      var item:Object = new Object();
      item.FileSize = GetSizeFormat(file.size);
      item.FileName = file.name;
      grid.addItem(item);
    }
     
    //============================================================================
    // Evénement gestion des erreurs
    //============================================================================
    listener.onHTTPError = function(file:FileReference, httpError:Number):Void {
      trace("onHTTPError: " + file.name + " httpError: " + httpError);
      stat.text = "HTTPError = Erreur de transmission du fichier " + file.name;
    }
    listener.onIOError = function(file:FileReference):Void {
      trace("onIOError: " + file.name);
      stat.text = "IOError = Erreur de transmission du fichier " + file.name;
    }
    listener.onSecurityError = function(file:FileReference, errorString:String):Void {
      trace("onSecurityError: " + file.name + " errorString: " + errorString);
      stat.text = "SecurityError = Erreur de transmission du fichier " + file.name + ". " + errorString;
    }
     
    //============================================================================
    // Dialogue de sélection des fichiers
    //============================================================================
    browse_btn.onRelease = function():Void {
      stat.text = "Selection des fichiers a telecharger...";
      browse_btn.enabled = false;
      fileRef.browse(allTypes);
    }
     
    //============================================================================
    // Main
    //============================================================================
    var fileRef:FileReferenceList = new FileReferenceList();
    var allTypes:Array = new Array();
    var imageTypes:Object = new Object();
    imageTypes.description = "Tous fichiers (*.*)";
    imageTypes.extension = "*.*;";
    allTypes.push(imageTypes);
    fileRef.addListener(listener);
    Merci beaucoup
    Je sais que je ne sais rien

  2. #2
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut
    Si tu veux envoyé un fichier de Flash vers PHP tu peux utliser la méthode send, à l'inverse si tu veux récupérer une variable d'un fichier php tu peux utiliser load, si tu veux faire les deux en même temps, et traiter des infos Flash-PHP-MYSQL-PHP-FLASH, tu peux utiliser SendAndLoad.

    pour créer des champs textes, tu peux utiliser les composants formulaires, auquels tu vas attribuer des noms de variables, et c'est ces variables que tu vas envoyer avec la méthode send, vers PHP.

    Une exemple :

    //tu crés un objet LoadVars qui va contenir tes variables a envoyé à PHP
    myvars = new LoadVars();
    //ici tu récupères les variables de tes champs textes crées sur ta scène
    myvars.nom = nom ;
    myvars.prenom = prenom;
    myvars.Email = Email;
    //ici tu envoies tes variables vers ton fichier PHP, qui les traites et te renvoie les éléments traités
    myvars.sendAndLoad('traitement.php', myvars, 'POST');

  3. #3
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Merci beaucoup Jeremie,

    Mais je suis vraiment débutant et ne comprend pas vraiment malgré ton expliction que je trouve bien faite. Pourras-tu stp, m'eindiquer où je dois insérer ton code dans le code que j'ai mis? Je précise que le code n'est pas de moi mais il marche.

    Merci d'avance
    Je sais que je ne sais rien

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut
    Ce que je ne comprends pas c'est que ton programme te permet de télécharger via HTTP un fichier.
    Et que toi tu veux envoyer des données de FLASH vers PHP.
    Ce sont deux choses différentes.
    Tu n'as pas besoin d'insérer le code au même endroit.

  5. #5
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Non Jeremie,

    Le programme doit servir de formulaire. Donc deux champ et le bouton parourir. Ce qu'il fait actuellement, c'est d'aller cherche un fichier sur le disque local du client. et d'envoyer tout ça à code PHP que je fais sans problème. C'est ce code qui va se charger d'exécuter le téléchargement. vers le serveur distant.

    Ce que je demande, c'est de mettre ces deux champs sur l'interface actuelle de flash pour permettre de récupérer les deux variables.
    Je sais que je ne sais rien

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par Alexandrebox
    Non Jeremie,

    Le programme doit servir de formulaire. Donc deux champ et le bouton parourir. Ce qu'il fait actuellement, c'est d'aller cherche un fichier sur le disque local du client. et d'envoyer tout ça à code PHP que je fais sans problème. C'est ce code qui va se charger d'exécuter le téléchargement. vers le serveur distant.

    Ce que je demande, c'est de mettre ces deux champs sur l'interface actuelle de flash pour permettre de récupérer les deux variables.
    A ce moment là tu peux insérer le code que je t'ai écris pour envoyer tes variables vers ton fichier php. Mais d'abord il faut que tu crées les deux composants TextField sur ta scène.
    Mais je persiste à dire que c'est bien deux actions différentes qui n'ont rien à voir, d'un côté tu vas chercher un fichier en local avec l'objet FileReference; et de l'autre tu veux envoyer des variables de Flash vers PHP.

  7. #7
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Non tu ne comprends pas Jeremie.

    C'est une surface comme un formulaire banal avec trois champs sit tu veux.
    Champ nom
    Champ e-mail
    Champ file avec bouton parcourir.

    Tout ceci en flash. Les variables sont envoyées à PHP. C'est tout.
    Pour l'instant j'ai que le bouton parcourir qui fait bien sont travail. C'est nickel. Ce n'est pas ça le prob. Je ne connais pas actionScript. Je cherche à faire les deux autres champs pour permettre à l'internaute d'insérer les données. Comme ça, on clique sur un bouton et voilà le tour est joué.
    Je sais que je ne sais rien

  8. #8
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut
    Donc tes deux champs sont déjà crées dans ton fichier Flash, tu veux récupérer ces deux valeurs pour les envoyés quelquepart, c'est ça ?

    Ces deux valeurs elles doivent devenir quoi ?
    S'insérer dans une base de données ? être traitées par un fichier PHP ?

  9. #9
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Ouiiiiii c'est ça.

    Je ne sais pas comment ajouter ces deux champs
    Je sais que je ne sais rien

  10. #10
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Ce que tu appelles txtField, je ne sais pas comment l'ajouter sur la surface de flash. Tu veux que je t'envoie le code source de flash? comme ça, ça te permettra de comprendre et de m'ajouter ces deux champs stp Jeremie. sauve moi
    Je sais que je ne sais rien

  11. #11
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par Alexandrebox
    Ouiiiiii c'est ça.

    Je ne sais pas comment ajouter ces deux champs
    Ces deux valeurs elles doivent devenir quoi ?
    S'insérer dans une base de données ? être traitées par un fichier PHP ?

  12. #12
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par Alexandrebox
    Ce que tu appelles txtField, je ne sais pas comment l'ajouter sur la surface de flash. Tu veux que je t'envoie le code source de flash? comme ça, ça te permettra de comprendre et de m'ajouter ces deux champs stp Jeremie. sauve moi
    Ce n'est pas une surface mais ce que l'on appelle une scène, et les champs sont
    tout simplement des champs textes, si tu utilises PHP, c'est la même chose.

  13. #13
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Oui je ne sais pas le faire. C'est ça ma question.
    Je sais que je ne sais rien

  14. #14
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Dis-moi comment je peux t'envoyer les fichiers flash. Tu vas comprendre comme ça
    Je sais que je ne sais rien

  15. #15
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut
    Mais je ne pense pas que ce soit la peine, ce que j'ai besoin de savoir, c'est qu'est ce que tu veux faire de ces deux variables ?
    Les insérer dans une base de données ?
    Car la solution c'est ce début de code pour envoyer les deux variables correspodantes vers un autre fichier pour les traités et les stockés :

    //tu crés un objet LoadVars qui va contenir tes variables a envoyé à PHP
    myvars = new LoadVars();
    //ici tu récupères les variables de tes champs textes déjà existants sur ta scène, pour voir le nom des variables tu cliques sur l'objet dans ta scène (champ var dans le tableau propriétés)
    myvars.nom = nomdetavariable ;
    myvars.Email = Emaildetavariable;
    //ici tu envoies tes variables vers ton fichier PHP
    myvars.send("traitement.php", "_blank", "POST");

Discussions similaires

  1. [MX] Envoyer une variable avec PHP
    Par flo48 dans le forum Flash
    Réponses: 38
    Dernier message: 22/09/2010, 10h51
  2. Ajouter une variable dans php.ini
    Par Aspic dans le forum Langage
    Réponses: 6
    Dernier message: 14/09/2008, 23h58
  3. Envoyer et récupérer des variables sans php
    Par goueg dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/08/2007, 10h08
  4. Envoyer une variable a php (puis mysql)
    Par gostbuster dans le forum Flash
    Réponses: 2
    Dernier message: 18/11/2006, 00h43
  5. [PHP-JS] ajouter des champ en cliquant sur un bouton?
    Par einsteineuzzz dans le forum Langage
    Réponses: 3
    Dernier message: 29/06/2006, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo