webForumDet fria alternativet

Skicka flera värden till flash med php

Flash

7 svar · 431 visningar · startad av Mattiax

Medlem sedan feb. 200738 inlägg
Frågan#1

Jag har ett problem med php. En php-fil hämtar några ord från en textfil och visar dessa i textboxar i flash. Ett ord i varje box. Problemet är att alla orden skrivs i den första textboxen. Hur kommer detta sig, och hur kan man fixa till det??

Här är koden jag använder för att anropa php.

fromPHP.loadVariables("file.php", "POST");

Här är den del av php-filen som som skickar tillbaka till flash. 
"Så som jag tror att den ska vara"

for($i=1; $i<10; $i++){
	print "flashWord$i=".$phpWord[$i];
}
Medlem sedan juli 20011 129 inlägg
#2

jag är inte så hemma på hur flash läser variablar, eller hur php konkaterar. men ska det inte vara:

for($i=1; $i<10; $i++){
	print "flashWord" . $i . "=".$phpWord[$i];
}

Så att den skickar flashWord1= istället för flashWord$i=
Men sen kanske det funkar att köra $variabel direkt i strängen i PHP?

Medlem sedan feb. 200738 inlägg
#3

Jo, det går bra att köra variabelnamnet direkt i strängen i php.
Php skickar flashWord1, flashWord2 osv. precis som det ska vara.
Men allt hamnar i textfältet med variabelnamnet flashWord1 i flash.

Medlem sedan juli 20011 129 inlägg
#4

Ah, då till nästa fundering.
Ska det inte vara någon separator mellan parametrarna som skickas e.x.
flashWord1=text**&**flashWord2=annantext ?

Medlem sedan feb. 200738 inlägg
#5

Hmm.. nej, inte vad jag vet.
Kan inte riktigt föreställa mig hur man ska få in en separator i en for-sats?

Medlem sedan dec. 2006608 inlägg
#6

Koplik har rätt, du ska skilja variablerna med ett & tecken.

Utskriften från php skall alltså se ut se här:
&flashWord1=text1&flashWord2=text2&flashWord3=text3&
precis som Koplik skrev.

Det är möjligt att det första eller sista & tecknet går att ta bort.

Sen är jag inte heller nån hejare på php.
Men om den kod du skrivit här ovanför funkar så borde detta ge ett riktigt resultat:

print "&amp;";
for($i=1; $i<10; $i++){
	print "flashWord$i=".$phpWord[$i]."&amp;";
}
Medlem sedan feb. 200738 inlägg
#7

Okej. Jag får det inte att fungera med "&" tecken. När jag kör php-filen direkt i webbläsaren skriver den ut alla ord med "&" framför, men i flash händer inget. Har nog aldrig använt "&" när jag skickar saker till flash, och det brukar fungera utan. Ska man ha "&" bara när man skickar flera variabler samtidigt eller??

Jag har precis löst problemet på ett annat sätt istället. Skickar alla ord från textfilen som en enda lång textsträng och delar upp den i flash istället. Jag använder följande, och det fungerar som jag hade tänkt. Kanske ingen snygg lösning, men men..

var wordARRAY = phpWords.split("|");

for (var i=0; i<11; i++) {
   this["flashWord"+i].text = wordARRAY[i];
}
Medlem sedan dec. 2006608 inlägg
#8

Det fungerar ju precis lika bra att skicka en variabel o splitta den. :)

Och ja, skickar du flera variabler till flash måste du avsluta alla med ett &.

272 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
134 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)