(SAISIE)FLASH ---> (TRAITEMENT)PHP --> (CONSULTATION)BASE DONNÉES --> (RETOUR DO

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 27 nov. 2009 à 23:18
CoDyXxX62 Messages postés 1 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 12 avril 2010 - 12 avril 2010 à 17:22
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50906-saisie-flash-traitement-php-consultation-base-donnees-retour-donnees-php-affichage-flash-dans-un-datagrid

CoDyXxX62 Messages postés 1 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 12 avril 2010
12 avril 2010 à 17:22
Bonsoir,

Tout d'abord, pour ma part j'ai bien aimé ton code. Cela vient peut-être du fait que je suis novice en la matière. Aisément compréhensible. J'aimerai m'inspirer de votre code pour ajouter une gestion de ce type dans un site web.
J'ai un seul soucis, je n'arrive pas à modifier les paramètres de la "datagrid" dans votre application.
J'ai par exemple essayé de renommer les colonnes, ajouter des "events" mais sans succès.
Dois-je créer une nouvelle datagrid par AC en passant l'array en data provider pour pouvoir modifier : font, align, colomn header, etc?

D'un point de vue sécurité, quels changements savent être fait aisément pour améliorer la sécurité?

D'avance merci,
Nicolas
Pyrghos Messages postés 9 Date d'inscription vendredi 26 décembre 2003 Statut Membre Dernière intervention 16 janvier 2007
10 avril 2010 à 11:07
Je pense que tu aurez plus de réponse, jeromebdx, en posant ta demande d'aide sur le forum flash => http://www.flashkod.com/forum/forum-FLASH-FLASH-MX_8.aspx

Pareil pour 7ameda22, pose ta question sur le forum php et tu risque d'attendre moins longtemps :) => http://www.phpcs.com/

Courage pour vos dev ^^
7ameda22 Messages postés 1 Date d'inscription jeudi 4 février 2010 Statut Membre Dernière intervention 7 avril 2010
7 avril 2010 à 14:39
bonsoir,
cette année, je suis en cours de préparer mon mémoire en php "gestion du personnel des ressources humaines"
j'ai rencontre un problème dans le remplir des champs texte à partir de la base de données
Aidez moi SVP
et merci d'avance.
jeromebdx Messages postés 1 Date d'inscription lundi 30 mars 2009 Statut Membre Dernière intervention 18 janvier 2010
18 janv. 2010 à 14:09
Bonjour,
Je suis novice en programmation, et j'ai besoin d'un petit coup de main pour un problème certe très simple, mais je galère depuis 2 jours dessus... et je n'ai pas le temps de lire tous les posts du forum...et tout ce que j'ai trouvé n'est pas adapté
à ce que je cherche à faire...et toutes mes modifs de code ont échoué...snif !!

Mon problème:

Via une page d'admin (en flash), pour un site de club sportif, je veux pouvoir rentrer dans 2 champs de saisie :
1: une date
2: La randonnée prévue à cette même date

inscrire tout ceci dans 1 ou 2 fichiers texte (.txt)

Puis, récupérer ces valeurs (date + sortie) dans 2 textes dynamiques en première page du site.

(La personne qui sera amenée à écrire ces informations n'y connait RIEN DU TOUT, et donc, il faut que tout
ceci soit écrit directement sur le site, et que se soit lisible pas tout le monde en page d'accueil...)

Ce que j'ai fait pour le moment :

dans flash: 2 champs de saisie (variables "date" et "txt" + bouton "OK" contenant le code suivant:
on (release) {
loadVariablesNum("chargetexte.php", 0, "POST");
loadVariablesNum("chargedate.php", 0, "POST");
}

Mes fichiers php :

CHARGEDATE.PHP
<?php
$fp = fopen('date.txt',"w"); // ouvert en écriture seulement, pas besoin de conserver les infos antérieures...
fputs($fp, 'date2=' + $date); // je ne suis pas sûr que ce soit la bonne méthode pour écrire le nom de variable dans le .txt
fclose($fp);
?>

CHARGETEXTE.PHP
<?php
$fp = fopen('sortie.txt',"w");
fputs($fp,'sortie=' + $txt);
fclose($fp);
?>

J'ai créé mes 2 fichiers texte (date.txt et sortie.txt)
ensuite, une l'anim flash de l'accueil doit récupérer dans 2 textes dynamiques les variables
"date2" dans date.txt et "sortie" dans sortie.txt.
Code A.S de l'anim :
loadVariablesNum("date.txt", 0);
loadVariablesNum("sortie.txt", 0);

ce qui serait censé me récupérer mes variables dans les fichiers ciblés....

ET LA....c'est le drame..... LOL !! ça ne fonctionne pas !!

Est-ce que mes variables doivent être reconverties pour flash (avec un parse) ?
ou bien, y'a t'il quelquechose que j'ai zappé dans mon code ?

Merci d'avance
jeanhenricol Messages postés 5 Date d'inscription lundi 28 décembre 2009 Statut Membre Dernière intervention 29 décembre 2009
28 déc. 2009 à 18:01
Bonjour,

est-ce que ceci pourrait réaliser cela ? Je nage totalement...

J'aimerai réaliser un questionnaire qui puisse tourner tout seul sous toutes plateformes, qu'on n'ai pas besoin d'access installé, par exemple et que je puisse récupérer les données dans Open Office.

J'ai besoin de trois types de réponses, dans des questionnaires différents :

- un qui comporte des questions avec 6 réponses possibles, de 0 à 5, une seule fois par question
- une liste de question avec une simple case à cocher qui mettrait 1 ou 0 comme réponse
- une liste de question avec une gradation à 5 niveaux partant de pas du tout à tout à fait, par exemple.

Au niveau du traitement des réponses; il s'agirait de classer chaque question dans des tables différentes.

Je ne sais pas si je me suis bien expliqué, étant moi même un peu perdu dans la réalisation...

Merci d'avance à tout ceux pour qui ce n'est qu'un jeu...
devboman Messages postés 16 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 1 décembre 2009
1 déc. 2009 à 01:15
Merci.
Je ne connais pas du tout cet evenement. Je vais regarder cela de plus prêt.
Pour info, cela ne fait qu'une semaine que je suis sur du Dev Flash AS3. Je n'y ai jamais touché avant.
Mais étant ingé en dev ASM/C/C++/C.net, je trouve beaucoup de similitude. En tous les cas, merci.
Je te tiens au jus dès demain.
Cordialement.
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
1 déc. 2009 à 01:10
un dispatchEvent qui déclenche une fonction de l'appelant et permet de récupérer les deux données en public.

Peg'
devboman Messages postés 16 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 1 décembre 2009
1 déc. 2009 à 01:02
Non en faite la fonction definit dans le fichier sendAndLoadasURLLoader.as :
prototype.onRequest function(success:Boolean,resulArray null,resultColomnsName:Array=null) : void
est redéfinie coté Phpsql.as de cette façon :
gestionnaireDeRequete.onRequest = function(success:Boolean,result:Array=null,resultColomnsName:Array=null) : void
Cela me permet lorsque la requête est remontée et à structuré des tableaux d'envoyer ces informations coté Parent.
J'ai donc fait appel à la surchage qui me permet d'envoyer les informations du child vers le parent.
Je ne connais pas d'autre méthode en Flash, me permettant de communiquer avec l'appelant.
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
1 déc. 2009 à 00:54
tu parles de "surcharge de fonction" pour dire que le nombre de paramètres est variable ?
Si tel est le cas, il existe une méthode trés simple :

maFonction(param:T, param2:T, ...rest:Array):void //écriture exact de "...rest"

dans ce cas, tu as 2 paramètres obligatoires et une série d'autres qui seront contenue dans un Array donc le nom est "rest".

Peg'
devboman Messages postés 16 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 1 décembre 2009
1 déc. 2009 à 00:45
Bonsoir.
Merci PEGASE31 pour tes réflexions.
Effectivement tu as tout à fait raison, il est totalement inutile d'hériter de Sprite.
Du coup il ne reste plus que :
-L'import du flash.net.* pour l'URLRequest
-L'import du flash.events.* pour la gestion des Events.
De plus pour les Getter / Setter tu as raison. Je n'en connaissais pas bien l'intérêt. Je me suis donc documenté et il en ressort que pour l'encapsulation d'une class on ne doit pas avoir de propriétés publiques …
Pour ce qui est de ta 3 question " l'utilisation d'un prototype est vraiment bizarre..." C'est la seule méthode que j'ai trouvé pour me permettre de faire appel à la fonction surchargée. S’il existe une autre façon, je suis preneur.
Je suis tout à fait d'accord avec toi, pour l'intérêt entre PHP ou Flash. Mais c'est une requête de type exclusive, concernant un PRJ. Refonte total d'un site PHP en Flash.
Cordialement
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
30 nov. 2009 à 21:58
par contre, je viens de mettre le nez dans ton .as .. et j'ai vraiment beaucoup de choses à dire au niveau de l'écriture...

1- étendre un displayObject n'a aucun intérêt dans ton cas puisque tu ne fais que traiter des données et n'affiche rien. Le mieux est d'étendre un URLLoader directement (si c'est possible, j'ai jamais fait) sinon d'étendre un Object, voir de ne rien étendre du tout ...
2- "import flash.util.*;" ça ne sert à rien ...
3- l'utilisation d'un prototype est vraiment bizarre dans ta déclaration de fonction "onRequest", il faudrait m'expliquer la raison de ce principe ... on dirait de l'as2 pas migré ...
4 - tu devrais utiliser des getter et setter pour l'attribution des tes propriétés en fin de code, ce serait plus propre.
par exemple :
public function set FileNamePhp(FileNamePhp:String) : void { this.FileNamePhp = FileNamePhp; }

Mais je reste sur ma position quand à l'utilité réelle de cette classe ...

Peg'
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
30 nov. 2009 à 21:40
flash ne peut pas attaquer une base SQL directement, donc on ne pourra jamais s'en passer tant que ce problème ne sera pas réglé ... donc c'est certes une belle démonstration technique de l'utilisation du DataGrid et des transferts flash<=>PHP<=>SQL, mais au final c'est plus lourd qu'un php seul et ça n'apporte rien technologiquement à mon avis.

Peg'
Pyrghos Messages postés 9 Date d'inscription vendredi 26 décembre 2003 Statut Membre Dernière intervention 16 janvier 2007
30 nov. 2009 à 18:23
En cas d'une utilisation sur un réseau ou un utilisateur équiper d'un sniffeur pourra aisément récupérer tout ça. M'enfin comme le dit devboman ce n'est qu'une source de démonstration et en aucun cas de production, donc celui qui voudra s'en servir cryptera tout ça. Il n'y à pas de quoi "paul-et-mickey" :p
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
30 nov. 2009 à 18:05
Mais je comprend pas pk c'est dangereux ?
Je veux dire, les logs d'accès à la base ne sont pas dans le swf, c'est l'utilisateur qui les tapes donc une personne voulant accéder aux données sans le pass ne pourra pas se connecter et donc n'aura aucune infos?
devboman Messages postés 16 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 1 décembre 2009
30 nov. 2009 à 12:53
Bonjour à tous.
Merci de vos commentaires. D’abord et avant tout. Ce petit SRC est là pour les personnes, qui comme moi, souhaitent acquérir de nouvelles compétences.
Il n’est écrit nul part que ce source puisse être utilisé tel quel et qu’il garantie une quelconque sécurité.
Il est simplement là pour expliquer la relation qui existe entre FLASH/PHP/SQL/PHP/FLASH.

PEGASE31 : Ce script n’est ni plus ni moins que la copie conforme d’un script existant en PHP. Mais à ce jour, la demande est de s’affranchir d’un formulaire PHP ou HTM ou autre et doit être impérativement réalisé sous Flash.

Nekosan3 : Tu trouveras au sein du répertoire DB Moto, dans le zip, une table bidon avec quelques enregistrements. Tu intègres à ta base locale, la table et les données. Et ensuite tu exécutes une requête sur ta table moto. Logiquement si tu as renseigné correctement le host/login/password et le nom de la base et lancé une requête du type : SELECT * FROM `MARQ` WHERE 1 tu devrais voir apparaitre dans le DataGrid tes enregistrements.

BLUNT1337 : Totalement hors sujet !!! Mais je vais tout de même te répondre.
Mon code n’est pas super… OK ! Où puis-je le comparer avec l’un des tiens ? Je ne vois aucunes sources t’appartenant !
1 : Qu’entends-tu par « aucune vérification les variables … » ? Jusqu’à preuve du contraire, ce SRC est une application qui doit mettre en exergue la relation FLASH/PHP/SQL. Je n’ai pas besoin de tester si les variables XYZ sont définies ou pas. De plus au sein de la classe MAL écrite il y à un test de contenu des champs préalablement renseignés.
C’est un SRC brute de fonderie. Il doit, bien sur, être adapté pour une utilisation plus poussée.

2 : Puisque tu es si pointu sur la convention d’écriture de Flash, qui n’est pas la nôtre…, donne-nous un SRC pour nous montrer et démontrer toute la pugnacité dont tu fais preuve quant à l’édition de tes SRC. Ecrire c'est bien. Partager c'est mieux!

3 : Qui te dit que ce SRC ne peut supporter d’améliorations ? Crypter les données, les password…
Pourquoi ne nous démontrerais-tu pas tout ton savoir en refondant ce SRC avec tous les conseils, dont tu nous fais part : sécurité, tester que les variables soient définies, écrire tout le code sous la convention Falsh….

4 : Si tu es assez FOU pour utiliser le code tel quel, grand bien te fasse. A toi d’adapter le SRC pour ta propre utilisation.

Un proverbe dit : « Il n'y a pas de mauvais outils. Il n'y a que de mauvais ouvriers ». Donc avant de critiquer l’outil, demande-toi à quoi il sert, à la base. Et si tu veux l’utiliser, à toi d’apprendre son maniement et au besoin à l’améliorer pour pouvoir l’utiliser convenable.

Si tu as mieux à nous proposer, je suis le premier intéressé.

J’accepte toutes critiques sans aucun problème. Sinon je ne prendrai pas le risque d’exposer mon SRC. Du moment, que ces critiques, soient en corrélation avec l’intitulé du SRC. Je ne parle ni de sécurité, ni de garantie sur les logins, ni de convention d’écriture dans CE SRC.
Cordialement
Pyrghos Messages postés 9 Date d'inscription vendredi 26 décembre 2003 Statut Membre Dernière intervention 16 janvier 2007
30 nov. 2009 à 10:26
Une remarque pour Stefbuet : blunt à raison, l'appli flash tournant dans un navigateur est mis à disposition de visiteur sur un site. N'importe qui à donc accès aux en têtes. Par contre les majuscules qui manque ne sont pas un drames en soit ;)

Après on peut imaginer crypter les variables avant envoi et les décrypter dans la page php, mais bliunt a raison la aussi il ne sert a rien de les transmettres vu que la page php tourne toujours sur le même serveur...

Sinon merci pour cette source, cela me sera utile.
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
29 nov. 2009 à 23:02
Moi j'ai juste une petite remarque pour Blunt:
On peut effectivement récupérer les variables des requêtes POST, mais le contenu de celles-ci (host/user/pass) c'est toi qui les a écrites donc c'est un peu bidon de les récupérer non?
blunt1337 Messages postés 72 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 11 octobre 2011
29 nov. 2009 à 08:52
Pas super ton code.
1: aucune vérification si les variables serverName, serverLogin, etc, sont définies ou non.
2: par convention un nom de classe commence par une majuscule.
3: le script php est sur le server et peut donc accéder qu'a ca propre base de donnée, je vois donc pas pourquoi envoyer le nom et le mot de passe du server alors que se sera toujours le même.
4: pirater le server SQL devient très facile en récupérant les variables POST
nekosan3 Messages postés 10 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 21 juin 2011
28 nov. 2009 à 12:44
Hello Devboman, source en niveau Initié je veux bien, mais aurais tu un exemple concret à nous montrer ?
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
27 nov. 2009 à 23:18
Ma question va peut-être paraître brutale, mais :

Outre la prouesse technique, qu'est-ce que flash apporte de plus qu'un script dynamique sous un navigateur dans le cas présent ?

Peg'
Rejoignez-nous