SQL->PHP->FLASH ET INVERSEMENT, L'ESSENTIEL POUR DÉBUTER.

kingcobra Messages postés 316 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 19 septembre 2012 - 22 juil. 2004 à 11:46
pentahertz Messages postés 28 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 6 novembre 2007 - 2 nov. 2007 à 10:51
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/24764-sql-php-flash-et-inversement-l-essentiel-pour-debuter

pentahertz Messages postés 28 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 6 novembre 2007
2 nov. 2007 à 10:51
La récupération dans le sens PHP -> FLash fonctionne, mais l'insertion en base ne marche pas... est-ce que quelqu'un sait pourquoi ?

Sur les serveurs Web correctement configurés, PHP fonctionne en "registers_global = Off": les variables des registres Environnement, GET, POST, Cookie, et Built-in (souvent désignées par variables EGPCS) ne sont pas vues comme des variables globales.

C’est naturellement plus sûr, en particulier pour les variables de formulaires qu’il est ainsi beaucoup plus dur d’abuser par une URL bien sentie...

Par contre c’est un peu plus lourd pour le programmeur qui doit, pour désigner la variable récupérée d’un formulaire, utiliser des lourds $_GET[’toto’] ou $_POST[’toto’] au lieu d’un simple $toto en register_globals = On.


http://www.journaldunet.com/developpeur/tutoriel/php/070703-php-register-global-off.shtml

correction a effectuer dans le fichier php news.php

<?
// connection
mysql_connect("localhost","root","");
mysql_select_db("bd_news");

$E_date=$_POST['E_date'];
$E_titre=$_POST['E_titre'];
$E_texte=$_POST['E_texte'];

// cette condition detecte l'existence de la variable (si elle n'existe pas on envoie rien a la bd)
if ($E_titre){
// on envoie les nouvelles données à la base (i contient le prochain id)
mysql_query("INSERT INTO news (date,titre,texte) VALUES ('$E_date','$E_titre','$E_texte')");
}


// on selectionne le contenu
$d_news = mysql_query("SELECT * FROM news order by id desc");
// on initialise
$i = 0;
$listeResultats = "";
// boucle pour afficher le resultat
while($ligne = mysql_fetch_array($d_news)) {
$date=$ligne[date];
$titre=$ligne[titre];
$texte=$ligne[texte];
$listeResultats .= "&R_date_$i=$date&R_titre_$i=$titre&R_texte_$i=$texte";
$i++;
}
$listeResultats .= "&R_nb_news=$i&";

// On affiche pour la donner a Flash
echo $listeResultats;

?>
cs_reda1 Messages postés 1 Date d'inscription samedi 8 mars 2003 Statut Membre Dernière intervention 2 juin 2006
2 juin 2006 à 18:25
salut tout le monde , voilà je suis nouveau dans tt ce qui es t flash , je roncontre des difficulté s quant à l'exemple ci dessus j'ai bien mis le fichier sql dans le dossier data d'easyphp ainsi sur news.php et news.sql mais ça ne marche pas!!!! je vous serais reconnaissant de m'aider. mon email : redabenhabib@gmail.com et merci
ephilas Messages postés 21 Date d'inscription mardi 3 août 2004 Statut Membre Dernière intervention 14 février 2007 1
16 mars 2006 à 17:13
Merci pour le code, ça fait quelques jours que je gallerais à faire communiquer MySQL et Flash mais maintenant c'est tout bon !
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
2 déc. 2005 à 17:06
dans le php, je decode les char via utf8_decode et vise et versa avec utf8_encode
donc ce n'est pas dans Flash, mais dans PHP que l'on gere les encodages
tu peux ausi utiliser useCodePage, dans Flash, mais seulement pour les xml il me semble
++
bbeenn007 Messages postés 33 Date d'inscription mercredi 21 septembre 2005 Statut Membre Dernière intervention 27 mars 2007
2 déc. 2005 à 15:53
Bin c'est ce que je pensais,
mais ce qu'il y a d'etrange c'est que dans ta source et dans celle "individis-bis", il n'y a pas ds l'actionscript de formatage particulier utilisé. Et dans les 2 sources vous envoyez les données avec la fonction sendandload ...
Pourtant sur ton application les accents marchent et pas sur l'autre ...
je ne comprend donc pas ...

si tu as d'autre idées, je suis preneur ...

a+

jahben
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
2 déc. 2005 à 14:02
salut
ton prob avec ton ancien script devait venir tt simplement de l'encodage des caracteres (utf8 dans Flash, Ascii dans php) donc faut convertir
++
bbeenn007 Messages postés 33 Date d'inscription mercredi 21 septembre 2005 Statut Membre Dernière intervention 27 mars 2007
2 déc. 2005 à 13:56
Super le tutoriel merci !!
Joli boulot.

Par contre je ne comprend toujours pas pourquoi mon ancien script issu des sources de " individis-bis " ne permettait pas l'ajout des accents ds la bdd et me faisait des encodages bizards des accents ...

lapincompri lopincompri

jahben
cs_alise Messages postés 2203 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 26 janvier 2010
12 juil. 2005 à 08:04
Pour Graphiminus
télécharge MAMP (Mac, Apache, mySQL, PHP), c'est pack qui t'installe tout en quelques secondes, là où il faut, et tu pourras travailler en local.
http://www.mamp.info/fr/home/
tu verras ça te simplifiera la vie !
kingcobra Messages postés 316 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 19 septembre 2012
9 juil. 2005 à 18:21
Dslé a tous les derniers sans reponses, mais je promet de sortir incessement sous peu une version stable et fiable qui permet de dialoguer avec php et sql le tout dans une idée du tonnerre qui vient de me sauter a l'esprit. A tres bientot vous allez tout comprendre ;) ...( à suivre )
cs_legna Messages postés 4 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 5 mars 2007
22 juin 2005 à 12:17
Salut, j'ai un souci avec ma prog pour récupérer dans une base le nom d'un fichier image :

- j'ai un fichier visuel.php contenant le code suivant :

<?
$db = mysql_connect("localhost", "root","");

mysql_select_db("ma_base",$db);

$requete = "select visuel from table1";

$envoi = mysql_query($requete);

while($tableau = mysql_fetch_array($envoi))
{
$visuel = ($tableau['visuel']);

echo "$visuel";

}

mysql_close($db);
?>

la variable que je récupère se présente sous la forme : mon_visuel.jpg

- puis j'ai mon flash avec le code suivant :

image=loadVariables("visuel.php",1);
createEmptyMovieClip("img",1);
img.LoadMovie("http://www.mon_site/images/"+image);

le souci c'est que ça ne fonctionne pas, je pense que la boulette vient de la récupération de la variable mais je ne vois pas comment faire!


Please Help Me!!!!!!!!!
cs_Doctor3600 Messages postés 15 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 24 septembre 2009
18 mai 2005 à 13:08
ton erreur est dans cette ligne :
--> SELECT * FROM bio order by id desc <--
plus précis dans "id" t'as dis que [Sachant que je n'ai qu'UN SEUL texte défini dans une table nommée "bio" avec les champs "auteur", "date", "texte"] donc il y a pas le champ "id" ! c'est normal qu'il te repond "undefined" c'est que le champ id n'existe pas !
j'espere que ma reponse n'est pas trop tard lol ! bon courage
skay406 Messages postés 13 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 29 juin 2008
10 avril 2005 à 14:59
Au fait c'est bon jai fait un systeme dinclude et ça marche au poil...
Par contre en action script je maitrise pas :
_root.txt += "--- "+this["R_date_"+i]+" ---\n\n";
_root.txt += ">>> "+this["R_titre_"+i]+" <<<\n";
_root.txt += this["R_texte_"+i]+"\n\n";
_root.txt += this["R_auteur_"+i]+"\n\n";
_root.txt +"";
_root.txt += "\n\n";


Peut on le modifier de façon a obtenir une partie du texte en gras? ou faire des effet de style?
Merci ;) ++
skay406 Messages postés 13 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 29 juin 2008
10 avril 2005 à 10:04
Juste une question qui va sans doute vous parraitre bète (moi en tt cas elle me parrait bète :s)
Quand on met en ligne, et qu'on se sert d'une base de donné sur le web, il faut bien modifier ceci:
mysql_connect("localhost","root","");
En remplacant localhost par mysql_connect("sql.free.fr","identifiantdelabase","motdepassdelabase");
?
Merci et encore dsl ;)
ArthasDK Messages postés 6 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 6 juin 2005
4 avril 2005 à 15:02
Arf je perds espoir
ArthasDK Messages postés 6 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 6 juin 2005
31 mars 2005 à 22:53
Hello tou le monde !

Alors voila, j'ai longtemps travaillé sous flash 4, je me suis mis il y a peu a flash MX.

J'essaie de comprendre le lien php-flash petit a petit.
Ce script correspondait exactement a mes besoins.
Mais voila je n'es pas réussi a l'adapter a mon site.

En gros j'ai réussi a le faire fonctionner dans un swf normal ( pas trés compliqué vu la clarté de la programmation ).

Ce qui donne ca:
http://cesiumwebsite.free.fr/msk1/ma/news.swf

Mais le souci c'est que je désire charger cette animation à l'intérieur d'un autre swf a l'aide d'un loadmovie()
Mais evidemment ca marche plus ^^
En fait cette animation est chargée dans celle-ci :
http://cesiumwebsite.free.fr/msk1/ma/website.swf

à l'aide d'un movie clip ayant comme nom d'occurrence "contenu"
Mais voila tous les noms des variables sont désormais éronnées vu que c'était toujours du style _root.variable.
j'ai essayé de remplacer tous les "_root" par des "_root.contenu"

Si quelqu'un comprends mon problème ( si mal expliqué soit -il) et est dans la capacité de m'aider, je le remercie d'avance...

A bientôt
blouh Messages postés 4 Date d'inscription jeudi 18 novembre 2004 Statut Membre Dernière intervention 20 juin 2007
21 mars 2005 à 20:36
Il existe un site très bien fichu qui explique de façon simple et claire la marche à suivre pour faire fonctionner un serveur apache avec php et MySQL sur mac OS X : http://www.mac4ever.com/MacOS.php?Choix=Article&NoArticle=279

Je suis moi aussi un branquignol de la programmation, mais je ne désespère pas facilement !

Stay blue !
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
12 févr. 2005 à 17:27
mm sous mac j'imagine que t'as php installé si tu dis faire du php. si le nom de ton server local c pas localhost, ben tu le change (dans flash) si ton ordi ayant php s'apelle tsouintsouin, tu mets tsouintsouin a la place de localhost.
et justement le truc avec cette class c de pas t'embetter a connaitre la prog flash.
en fait avec tu execute des requete sur ta base mysql (ou odbc) ss te soucier de flash ou de la contruction de ma class.
juste tu l'importe
import Class.Sql.*

pour creer un new obj sql (comme tu creer un new sound ou loadvar
maconnexion = new Sql("http//localhost/dossier/scriptphpfourni.php");
c la que tu remplace localhost par le nom de ta machine.
apres regarde la doc :)

bon courage a toi :)
++

_benjy
Flash Sans Limites
Grafiminus Messages postés 6 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 11 février 2005
11 févr. 2005 à 17:36
j'ai essayé mais je suis sur mac, je n'ai pas de localhost pour tester et puis C peut-être facile quand tu t'y connais un minimum, moi j'en suis encore à la requête php simple, en plus l'actionscript C pas mon fort non plus :D !
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
11 févr. 2005 à 17:22
si ca te dis utilise ma class de connexion sql dispo sur ce site ... c tout simple a utiliser et on se fait plus chier :)
++
Grafiminus Messages postés 6 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 11 février 2005
11 févr. 2005 à 16:56
salut, je suis un newby dans la prog PHP, ça fait à peine 5 jours que je m'y colle, je voulais récupéré un texte sur mon SQL free.fr alors j'ai pompé ce code.
Malheureusement je dois pècher quelque part car une fois le .fla et le .php modifiés le swf m'affiche "undefined" voici mes scripts :

>>>>>>le .FLA
_root.txt=""
R_news = new LoadVars();
R_news.load("news.php");
_root.txt += "--- "+this["R_date_"]+" ---\n\n";
_root.txt += ">>> "+this["R_titre_"]+" <<<\n";
_root.txt += this["texte"]+"\n\n";

R_news.load("news.php");
stop();

>>>>> le .PHP
<? include("logmysql.ini"); ?>
<?
mysql_connect("localhost","root","");
mysql_select_db("bd_news");

$d_news = mysql_query("SELECT * FROM bio order by id desc");
$listeResultats = "";
while($ligne = mysql_fetch_array($d_news)) {
$date=$ligne[date];
$auteur=$ligne[auteur];
$texte=$ligne[texte];
$listeResultats .= "&R_date_=$date & R_titre_=$titre & R_texte_=$texte";
}
echo $listeResultats;
?>

Sachant que je n'ai qu'UN SEUL texte défini dans une table nommée "bio" avec les champs "auteur", "date", "texte", je sais que le code ne peut pas fonctionné comme ça mais comme je ne m'y connais pas je sèche devant depuis ce matin !

Au fait soyez indulgent :D c'est mon premier code flash // sql, merci !
inextremus Messages postés 1 Date d'inscription dimanche 12 septembre 2004 Statut Membre Dernière intervention 12 décembre 2004
12 déc. 2004 à 13:59
Bonjour,

Est ce que quelqu'un aurai une astuce pour faire un compteur de click dans flash avec cette méthode (php-sql) ?????

Merci d'avance.
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
29 oct. 2004 à 00:16
ouaps c clair c relou et long le parsing, mais si jamais tu trouve un autre solution j'suis preneur ... !!
de mm si quelqu'un a un machin (script, class, compsant ...) autre que le composant 'yansbrowser' pour ouvrir la fenetre de navigation pour choix de fichier a uploader depuis IE....
individis-bis Messages postés 293 Date d'inscription vendredi 26 septembre 2003 Statut Membre Dernière intervention 25 septembre 2008
27 oct. 2004 à 23:12
Oui j'y ai pensé et je l'ai fait,
Mais ptin, quand tu as des masses de données a balancer ca rame;..
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
27 oct. 2004 à 22:59
salut
c normal, cela vient du fait que les texte sous Word est enregistré en ASCII, or Flash tourne en UTF8.
la seul solution que je connaisse c de se faire une p'tite fonction de cherché remplacer et un bouton l'appelant pour formatter le texte apres copier .

Ou sinon t'envois un mail a macromédia pour te pleindre LOL

bon courage
++

Benjy
Flash Sans Limite
individis-bis Messages postés 293 Date d'inscription vendredi 26 septembre 2003 Statut Membre Dernière intervention 25 septembre 2008
27 oct. 2004 à 22:15
Ouais, et tu ne rencontres pas de problême d'export dans ta base de données quand les champs de ton swf sont rensegnés pas copier-coller issue d'un fichier word par exemple !
Si oui, et que tu as trouvé la solution àa me retirerais une épine du pied...
Ca fait 2 heures que je planche sur ce qui me parrait être un bug...
J'explique,
J'ai 2 champs (bien plus mais pour l'exemple ca suffit ;-);
Ces deux champs une fois saisi sont envoyés vers Sql...
a) Si je copie colle du texte d'un fichier word, et que je le colle dans un de ces champs et un seul l'autre étant renseigné normalement via frappe du clavier...
Ca fonctionne...
b) si je fais la même manip, mais que je colle dans les deux champs le même texte issue de word...
Ca echoue...
Même si ces deux champs texte sont à l'identique osu tous rapport...
Je ne parle pas des problême d'encodage ca je maîtrise bien maintenant, mais tout bêtement du refus de flash et php de communiquer dans ce cas la...
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
29 juil. 2004 à 14:08
salut les gars, semblerai que ca se galere un peu par là
je sais que c pas grand chose, mais j'vous propose plutot d'allé voir ma sources FLASHMX2004 CLASS SQL (MYSQL & ACCESS) V5.5 (AVEC PHP) c une p'tit class MX2004 pour faire des liaisons (lectire ecriture) sur tt les base de votre choix (mysql et access)
enfin a vous de voir ...

++

Flash sans Limites
_benjy
kingcobra Messages postés 316 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 19 septembre 2012
23 juil. 2004 à 17:13
Est ce que tu as bien ajouté la table avec les bons noms ?? (à moins de modifier le .fla ou le .php)
ensuite fais un test en manuel dans la base pour voir.
Et si tu gères un peu le php, ajoute une donnée à partir d'un .php et si ça marche alors y'a pas de raison.
Voila je peux pas plus pour toi.
ptitduck Messages postés 1 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 23 juillet 2004
23 juil. 2004 à 01:14
La récupération dans le sens PHP -> FLash fonctionne, mais l'insertion en base ne marche pas... est-ce que quelqu'un sait pourquoi ?
kingcobra Messages postés 316 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 19 septembre 2012
22 juil. 2004 à 11:46
le code pour ajouter c'est "aaa" ;) mais c'est facile à savoir
Rejoignez-nous