Toon posts:

[PHP en FLASH] Variabelen uitwisselen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste mede-tweakers,
Laat ik beginnen met te stellen dat ik gezocht heb naar mijn vraag, de hele avond lang, maar ik kon echt niets vinden wat mij verder kon helpen.

Ik ben wat betreft de combinatie flash en php een newbie, met flash alleen kan ik aardig uit de voeten en php heb ik al lang onder de knie.
Het probleem is dus dat ik variabelen tussen flash en php uit wil wisselen, en hierbij loop ik tegen een aantal problemen aan.
Ik ben bezig met een nieuws 'movie', waarin de nieuwsitems getoond worden, deze nieuwsitems komen uit een MySQL database en die worden gegenereerd door php (hoe kan het ook anders), maar hoe krijg ik dit in flash geïntegreerd? Ik weet hoe ik uit een php-bestandje variabelen uit kan lezen, dmv loadVariables (ofzoiets), maar ik weet dus vantevoren niet hoeveel nieuwsitems getoond moeten worden.
Kortom hoe krijg ik flash zover dat hij een x aantal nieuwsitems inleest en achterelkaar weergeeft?
Als jullie een goede tutorial weten (ook gezocht niet veel gevonden) die hier op ingaat, laat het mij dan ook even weten!
Iig bedankt.

ps, sorry voor de lap tekst, maar ik hoop dat ik nu wel voldoe aan de eisen voor een nieuw topic.

  • Grum
  • Registratie: Juni 2001
  • Niet online
dit is dus een flash probleem en dat moet in W&G

Verwijderd

Topicstarter
het is toch een combinatie van php en flash??
Of ben ik te onduidelijk geweest??

  • Grum
  • Registratie: Juni 2001
  • Niet online
Conclusie van je vraag:
Kortom hoe krijg ik flash zover dat hij een x aantal nieuwsitems inleest en achterelkaar weergeeft?

Verwijderd

Topicstarter
Op dinsdag 19 maart 2002 00:54 schreef Grum het volgende:
Conclusie van je vraag:
[..]
You've got a point....

Move 'm maar als dat nodig mocht zijn (ik zag dat het al aangevraagd was in SU)

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Hier is de move P&W -> W&G.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Het lijkt mij het simpelst als je met PHP een bestand maakt met daarin data in hapklare brokken.
Ik denk dat je dat het best met XML kunt doen, aangezien er redelijk goede XML functies in zitten. En dan is het dus verder weer met actionscript knoeien om het in een vorm te gieten.
Qua PHP zit je dan met ongeveer dezelfde structuur als een 'gewoon' forum.

  • OzBoz
  • Registratie: Maart 2000
  • Laatst online: 09-09 19:36

OzBoz

.:.H.:.I.:.P.:.

Ik heb geen antwoord op je vraag, maar wellicht heb je wat aan het boek Foundation PHP for Flash (ISBN 1-903450-16-0)

Ik moet er nog in beginnen vandaar geen echt antwoord..

My Fizion | My 3D prints | LinkedIn


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Ik moet altijd loadVariable-files enzo genereren voor onze Flashers. Die leest Flash dan in enzo.

XML is aardig als er een constante verbinding vereist is zoals met een chatserver, maar anders is het nogal veel trager dan de bovenstaande manier geloof ik..

Verwijderd

Probeer met Loadmovies, zo heb ik ooit een loginsysteem in flash met MySQL als backend gemaakt. Maak een script die de variabele uit de DB halen, en echo deze op het scherm, vervolgens in Flash kan je met loadvariables deze geechode zooi binnenhalen!

Verwijderd

sorry, je poste de vorige net wat\ eerder met dezelfdee oplossing, loadmovie moet ook loadvariabeles, het is laat geworden gisteravond ;)

  • Murphy
  • Registratie: November 2000
  • Laatst online: 23-03 16:20

Murphy

(2B||!2B)?

Euh Patrick je geeft wel de goede oplossing maar ga eens wat vroeger naar bed ;)

Zo doe ik het met ASP:
code:
1
2
3
aspbestand = "hoppeteej.asp";
level = "_level400";
loadVariables (aspbestand, level, "GET");

Ok, ASP is geen PHP maar Flash gaat er op dezelfde manier mee om. De ASP doet een paar keer 'resonse.write' en dat is hetzelfde als 'echo' in PHP. De ASP knalt dus gewoon een paar variables neer na een SQL-query en ActionScript haalt ze probleemloos op. Tip: gebruik wel een EOF. Laat Flash net zo lang loopen totdat de EOF binnen is.

Geef ook mee om hoeveel nieuwsitems het gaat: "aantalregels = x;" ofzo. Dan kan Flash daar ook rekening mee houden. Succes!

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 27-08 10:08

XangadiX

trepanatie is zóó kinderachtig

nou zeg...

dat moet dus zo:
code:
1
2
3
4
5
6
7
(flash)
LoadVariables ("uwvars.php", 0, GET);

(en dan evt.)

global var1
global var2


PHP:
1
<?    echo "flashvar=$phpvar&amp;";    echo "flashvar2=$phpvar2&amp;";    echo "flashvar3=$phpvar3&amp;";?>

Het aardige is dus dat je niet de hele pagina hoeft te genereren in php maar dat je eigenlijk gewoon een url string doorgeeft:

(dus flash.swf?flashvar=foo&flashvar2=bar)

ow en ik ben niet helemaal zeker van de syntax van de AS, maar dat kun je wel ff nazoeken denk ik

Stoer; Marduq


Verwijderd

Het kan ook anders, dat hebben owen en ik al in een aantal andere threads laten zien.
Maar dit is afhankelijk van of dit 5 is of niet.

vraag is dus: is dit 5?

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

is loadVariables() 5?

  • Murphy
  • Registratie: November 2000
  • Laatst online: 23-03 16:20

Murphy

(2B||!2B)?

Flash 5 denk ik. Lekker duidelijke vraag van B-Top.
Het kan inderdaad ook anders, namelijk met FSCommand, maar das hier niet handig.
Ben benieuwd naar die andere manier.

Verwijderd

Als het flash 5 is kan je nl ook zo dingen inladen :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function loadtxt(filename){
    xmlbullsjit = new XML();
    xmlbullsjit.onLoad = doafterload;
     //Next line is for online usage
     //xmlbullsjit.load(filename+'?random='+getTimer());
     //Next line is for local/debug usage
     xmlbullsjit.load(filename);
}

function doafterload(){
    values = xmlbullsjit.toString();
    values = values.split(chr(10));
        for (n=0; (n+1)<values.length; n++){
               trace(values[n];
        }

}

loadtxt('urls.txt');

Nu kan je dus in flash je eigen delimiter kiezen, en daarnaast hoef je niet meer met &klaar==1& te eindigen, dit is een event in flash 5.

Duidelijk genoeg?

Verwijderd

Op dinsdag 19 maart 2002 11:36 schreef XangadiX het volgende:
Het aardige is dus dat je niet de hele pagina hoeft te genereren in php maar dat je eigenlijk gewoon een url string doorgeeft:

(dus flash.swf?flashvar=foo&flashvar2=bar)
[misschien beetje ot]
dat flash.swf? werkt allemaal wel jah, maar wat nou als je swfjes in een .php pagina hebt zitten. als ik mijnpagina.php?flashvar=mijnvariabele en in die pagina zit een swfje dan haalt hij niet automatisch de variabele binnen.
[/misschien beetje ot]

Verwijderd

Topicstarter
Jezus, wat een reacties, het antwoord op mijn probleem heb ik nu al gedeeltelijk.
Ik snap de ballen niet van XML, en het was mijn plan om dit te leren nadat ik de combinatie flash en php onder de knie had, dus dat laat ik nog maar even achterwege.
Het is nu redelijk duidelijk hoe ik variabelen in kan laden in flash, maar nu het volgende:
Ik weet dus niet hoeveel variabelen ingeladen worden.
Neem even die nieuwsitems, dat kunnen er 2 zijn, maar ook 20. En hij moet ze dus allemaal achter elkaar laten zien.

Je krijgt dus zoiets:

Frame 1 2 3 4 5 6 7 8 9 10
Actie A B B B B B B B B C
A: Haal de nieuwsitems op
B: Toon nieuwsitem[teller]
C: teller < aantal nieuwsitems? --> Verhoog teller met 1 en ga naar Frame 2, anders --> teller = 0 en ga naar Frame 2.

Zo'n principe.
Kan dit? En hoe doe ik dit het makkelijkste.

IIG bedankt voor jullie reacties!! :)

Verwijderd

Ik heb je hier boven net dat stuk source gegeven....die stopt alles auto in een array...

Verwijderd

Topicstarter
Maar das toch voor XML, of snap ik het verkeerd
BTW, ik maak gebruik van Flash 5

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
Op dinsdag 19 maart 2002 13:39 schreef Necromancy het volgende:

[..]

[misschien beetje ot]
dat flash.swf? werkt allemaal wel jah, maar wat nou als je swfjes in een .php pagina hebt zitten. als ik mijnpagina.php?flashvar=mijnvariabele en in die pagina zit een swfje dan haalt hij niet automatisch de variabele binnen.
[/misschien beetje ot]
je geeft toch in tags aan welke movie er geladen moet worden?
code:
1
<param name="movie" content="flash.swf?var1=bla&var2=mooh">

ofzoiets :)

of eventueel:
code:
1
<param name="movie" content="flash.swf?var1=$var1&var2=$var2">

succes ermee ;)

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


Verwijderd

Op dinsdag 19 maart 2002 10:13 schreef Bosmonster het volgende:
Ik moet altijd loadVariable-files enzo genereren voor onze Flashers. Die leest Flash dan in enzo.

XML is aardig als er een constante verbinding vereist is zoals met een chatserver, maar anders is het nogal veel trager dan de bovenstaande manier geloof ik..
Dat is dus het verschil tussen een XML object en een XMLSocket object.
De laatste houd dus een constante verbinding

Verder kun je toch makkelijk PHP laten opgeven hoeveel berichtjes je hebt en dat ook meegeven aan flash?

Verwijderd

Op dinsdag 19 maart 2002 14:40 schreef Grote Vos het volgende:
Maar das toch voor XML, of snap ik het verkeerd
BTW, ik maak gebruik van Flash 5
Erm, neej dat is het niet, hij misbruikt het xml object om raw data in te kunnen laden; check deze examples op mijn site:

http://home.wxs.nl/~leeu6431/dyn_comb.html ( flash mx )
http://home.wxs.nl/~leeu6431/txt2graph.html (flash 5)

Hier kan je dus je eigen formaat samen stellen, en ben je niet meer gebonden aan het &=& formaat.

Verwijderd

Topicstarter
Ik zit nu met het probleem dat ik de variabelen niet in het tekstveld gezet krijg, het is een dynamic text, alleen ik kan de property niet vinden waarmee ik de text kan veranderen. Weet iemand hoe ik dit moet doen??

Verwijderd

Op dinsdag 19 maart 2002 15:26 schreef Grote Vos het volgende:
Ik zit nu met het probleem dat ik de variabelen niet in het tekstveld gezet krijg, het is een dynamic text, alleen ik kan de property niet vinden waarmee ik de text kan veranderen. Weet iemand hoe ik dit moet doen??
:? als je de variabele verandert verandert het textfield met die variabele naam gewoon mee,

Verwijderd

Topicstarter
Oke, ik heb nu ff het volgende actionscript:
code:
1
2
3
4
5
6
7
8
loadVariablesNum ("http://localhost/Flash/testvariabelen.php3", 0,"GET");
var teller = 0;
onderwerpText = onderwerp[teller];
berichtText = bericht[teller];
teller++;
if (teller >= int (aantal)) {
    teller = 0;
}

en onderwerpText en berichtText zijn zeg maar de namen van de tekstvakken. Maar hij zet er niets in :? wat doe ik dan verkeerd.

Dit is de php code:
PHP:
1
<?echo "onderwerp[0]=Testbericht";echo "&amp;bericht[0]=Dit is een tekstbericht";echo "&amp;onderwerp[1]=Ander onderwerp";echo "&amp;bericht[1]=Ander tekstbericht";echo "&amp;aantal=2";?>

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 27-08 10:08

XangadiX

trepanatie is zóó kinderachtig

uhmja klein voutje mijnerzijds... probeer eens

LoadVariables ("whatever.php", "/", "GET"); ipv die 0

waarom LoadVariablesNum en niet gewoon LoadVariables?

probeer het anders eerst met een klein php documentje voor je het meteen koppelt aan alles.
PHP:
1
<?$foo = "hello world";echo $foo;?>

###

heeeeeeeeeeeej... B-top ik zie OPEENS de briljantie van die XML oplossing... dat is idd verdomt handig 8-)

* XangadiX vroeg zich al een half jaar af waar Owhen en B-top het toch over hadden met hun XML-gebabbel maar het is gewoon een fijn gebruik van het ding :)

Stoer; Marduq


Verwijderd

Topicstarter
Ik denk dat het probleem in het ophalen van de variabelen zit, als ik namelijk zelf een array aanmaak in het actionscript van flash, dan gaat het goed, maar zodra ik de array uit het php-bestand binnen haal, geeft hij niets weer. Doe ik daar iets fout in dan??

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 27-08 10:08

XangadiX

trepanatie is zóó kinderachtig

zoals ik al zei, probeer eerst 1 variabele, als dat werkt dan ligt het niet aan je php/flash ding, daarna probeer je een array (waarvan ik me trouwens herrinnner dat die nog weleens prpoblemen wilde geven trouwens) en daarna koppel je databaas etc...

rustig aan weetjewel, dan breeekt het lijntje niet ;)

Stoer; Marduq


Verwijderd

Topicstarter
Op dinsdag 19 maart 2002 16:00 schreef XangadiX het volgende:
zoals ik al zei, probeer eerst 1 variabele, als dat werkt dan ligt het niet aan je php/flash ding, daarna probeer je een array (waarvan ik me trouwens herrinnner dat die nog weleens prpoblemen wilde geven trouwens) en daarna koppel je databaas etc...

rustig aan weetjewel, dan breeekt het lijntje niet ;)
Dank je voor de tip :P, maar ik heb flash nou zover dat hij een variabele in kan laden vanuit flash en dat hij die weergeeft, ik heb flash zover dat als ik in flash een array maak, dat hij die dan omstebeurt laat zien, nu moet ik flash alleen nog zover krijgen dat hij de array uit het php-bestand inlaadt en weergeeft, en dat gaat dus niet goed.

Verwijderd

Topicstarter
Ik heb het nu anders gedaan, het php-bestandje geeft nu de variabelen door die nodig zijn, bv de teller staat op 1, dan geeft php nu mijnArray[1] door. Alleen nu krijg ik soms alleen de eerste letter te zien, en soms ook weer niet, waar komt dat door??? en nog belangrijker hoe los ik dat op.

Verwijderd

ERMMMM>>>antwoord is echt al gegeven toch?

Verwijderd

Topicstarter
Gedeeltelijk wel ja, maar het lukt nog steeds niet, ik krijg een array vanuit php niet in flash, wat ik ook probeer. Dus als er iemand is die mij daar mee zou kunnen helpen???

Verwijderd

Op dinsdag 19 maart 2002 15:50 schreef XangadiX het volgende:
uhmja klein voutje mijnerzijds... probeer eens

LoadVariables ("whatever.php", "/", "GET"); ipv die 0

waarom LoadVariablesNum en niet gewoon LoadVariables?

probeer het anders eerst met een klein php documentje voor je het meteen koppelt aan alles.
PHP:
1
<?$foo = "hello world";echo $foo;?>

###

heeeeeeeeeeeej... B-top ik zie OPEENS de briljantie van die XML oplossing... dat is idd verdomt handig 8-)

* XangadiX vroeg zich al een half jaar af waar Owhen en B-top het toch over hadden met hun XML-gebabbel maar het is gewoon een fijn gebruik van het ding :)
HEHE.....B-)

Verwijderd

Topicstarter
Als je dit bedoeld:
code:
1
LoadVariables ("whatever.php", "/", "GET"); ipv die 0

dat heb ik al gedaan, het probleem is denk ik dat het even duurt voordat hij de variabelen heeft ingeladen, en dat ik er al meer aan de slag ga, voordat ze binnen zijn. Is er een manier om dit te detecteren op een nette manier (dus niet met kees=klaar)?? of moet ik dit met kees=klaar doen??

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

kees=klaar of bovenstaande manier via XML..

Gek.. ik heb de ballen verstand van Flash maar haal het wel allemaal uit bovenstaande informatie...

Verwijderd

Topicstarter
Oke, dat snap ik wel, maar als ik het via die XML-methode doe, dan moet ik eerst weer een txt-file maken, terwijl als ik het uit php haal, dat het dan echt up-to-date is.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Oke, dat snap ik wel, maar als ik het via die XML-methode doe, dan moet ik eerst weer een txt-file maken, terwijl als ik het uit php haal, dat het dan echt up-to-date is.
|:(

Waar staat dat????

Verwijderd

Op dinsdag 19 maart 2002 17:23 schreef Grote Vos het volgende:
Oke, dat snap ik wel, maar als ik het via die XML-methode doe, dan moet ik eerst weer een txt-file maken, terwijl als ik het uit php haal, dat het dan echt up-to-date is.
Dat hoeft dus helemaal niet, je veranderd gewoon het te laden bestand, zet je eigen key/value syntax erin, klaar is kees.

Verwijderd

Of je maakt een XML Socket Server :) Ik ben genoodzaakt om er een te bouwen en eerlijk gezegd valt het me allemaal nog bijzonder mee op wat kleine tegenslagen na en wat Flash5 incompetentie in debugging van actionscript.

Verwijderd

Topicstarter
Oke, het is gelukt! :)
Ik heb alles een beetje samengevoegd, en daardoor ben ik tot het volgende gekomen:
Allereerst maak ik in php een string met daarin de waarden van de array achterelkaar, gescheiden door een scheidings-teken (in mijn geval |).
Daarna laad ik dit in, in Flash en split ik de string in een array dmv het scheidingsteken.
Iedereen in ieder geval bedankt voor de reacties! :)

Verwijderd

ok, ik zit nu ongeveer met 't zelfde te prutsen, ik had m'n scriptje wel OK, maar de waarden veranderen steeds (dus bv een hits counter die elke seconde verandert), maar als die waarde steeds laat laden, gebruikt 'ie alleen de oude waarde. hoe kan ik 'm instellen dat hij steeds nieuwe waarde binnenhaalt (de LoadVaribles() zit al in een lusje)

Verwijderd

dmv een ? en random getal achter je je link te plaatsen, bij het bestand dat je inlaad. anders pakt de browser de versie uit z'n cache

Verwijderd

"info.php" add random ??
bedoel je zo iets?

Verwijderd

code:
1
2
3
4
5
if (browser eq "") {
    loadVariables ("info.php?id=" add Math.radom(), "/", "GET");
} else {
    loadVariables ("info.php?id=" add Math.radom(), "/", "POST");
}

bedoel je dit?
(werkt niet :()

Verwijderd

info.php?123 dat als link, en dan cijfers dus random gekozen.


[edit]
flash code:
code:
1
loadVariablesNum ("lalala.php?" add Math.random()*1000, 250);

Verwijderd

Op maandag 15 april 2002 14:50 schreef bouke_h het volgende:
code:
1
2
3
4
5
if (browser eq "") {
    loadVariables ("info.php?id=" add Math.radom(), "/", "GET");
} else {
    loadVariables ("info.php?id=" add Math.radom(), "/", "POST");
}

bedoel je dit?
(werkt niet :()
'add Math.radom'

zoek en vervang voor random();

Verwijderd

mooi, thanx, 't werkt nu

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

pfff..gaan ze zomaar over Flash en XML praten als ik er niet bij ben.. ;)

"You're only as good, as what you did last week."

Pagina: 1