Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Flash] Variable uit url undefined

Pagina: 1
Acties:
  • 586 views sinds 30-01-2008
  • Reageer

  • Lentje
  • Registratie: Juni 2001
  • Laatst online: 20-11 21:53
Ik ben op dit moment bezig om een flash foto upload werkend te krijgen. Voordeel hier van is dat er hele reeksen van bestanden tegelijk te verwerken zijn.

Het flash bestand dat in een html/php pagina wordt ge-embed krijgt een variabele mee welke het fotoalbum defineert. Het verwerkende php script kan daarna de foto's in het goede album plaatsen.

Hier zit echter het probleem. Ik geef de variabele in het object mee in de url:
HTML:
1
2
3
4
5
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="220" height="100">
  <param name="movie" value="photo-upload.swf?album_id=2" />
  <param name="quality" value="high" />
  <embed src="photo-upload.swf?album_id=2" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="220" height="100"></embed>
</object>


Echter, in flash, blijft die variabele (album_id) maar undefined. Ik probeer hem zo aan te roepen:
code:
1
2
var aid = album_id ? album_id : "0";
pro_cur.label = "album_id = " + aid;


Ik heb het script op dit moment gestript tot bovenstaande actionscript. Maar variabele aid blijft 0.

Waarschijnlijk is het iets supersimpels, maar op dit moment hik ik er al uren tegenaan en ik kan het probleem niet vinden.

De movie wordt geexporteerd als flash 8 trouwens.

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Een beetje googlen helpt hierbij wel ;)

[google=flash external variables]

Tevens zou je als voorbeeld eens kunnen kijken naar swf upload

Blog [Stackoverflow] [LinkedIn]


  • Lentje
  • Registratie: Juni 2001
  • Laatst online: 20-11 21:53
Had ik het maar opgelost na een beetje googlen, hoefde ik dit topic niet te openen ;)

Nee ik heb eens gekeken naar jou search resultaten.

http://www.nunomira.com/t...ng_variables.php#htmltags

Doet hetzelfde als ik. Alleen bij mij blijft hij op de 1 of andere manier undefined.

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Als je goed leest dan zie je dat de variabelen via _level0 te benaderen zijn, in plaats van album_id dus _level0.album_id

Blog [Stackoverflow] [LinkedIn]


  • Lentje
  • Registratie: Juni 2001
  • Laatst online: 20-11 21:53
Sorry was ik vergeten te melden in mijn vorige post. Dat heb ik ook geprobeerd maar:
code:
1
2
var aid = _level0.album_id ? _level0.album_id : "0";
pro_cur.label = "album_id = " + aid;

Doet het dus ook niet.

edit: Ik heb ook nog even geprobeerd om de variabelen via flashvars mee te geven maar dat geeft ook undefined.

[ Voor 20% gewijzigd door Lentje op 20-01-2008 16:01 ]


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Ik weet even niet voor 100% hoe dit met actionscript zit dus correct me if I'm wrong.

Maar... zou het niet kunnen dat je in een ander object en dus een andere scope zit? Probeer het eens met een frame in een van de root frames (dus niet in een MC).

Blog [Stackoverflow] [LinkedIn]


  • Lentje
  • Registratie: Juni 2001
  • Laatst online: 20-11 21:53
Hm, ik heb maar 1 frame waar alles in staat. Zou geen probleem moeten zijn geloof ik.

Heb het ook eens over een andere boeg gegooid. Via sessions en php file.
pass.php
PHP:
1
2
3
4
5
$album_id = $_SESSION['album_id'];
$upload_page = $_SESSION['upload_page'];
$redirect = $_SESSION['redirect'];

echo '&album_id='.$album_id.'&upload_page='.$upload_page.'&redirect='.$redirect.'&';



code:
1
2
3
4
5
6
7
url_mc.loadVariables("pass.php");

var album_id = url_mc.album_id ? url_mc.album_id : "0";
var redirect = url_mc.redirect ? url_mc.redirect : "?p=fotos&album=" + album_id;
var upload_page = url_mc.upload_page ? url_mc.upload_page : "upload.php?album=" + album_id;

pro_cur.label = "vars: " + url_mc.album_id;


Maar zoals verwacht, nogsteeds niks.

Verwijderd

Beter is om gewoon flashvars door te geven.

Dit kun je adhv:
code:
1
<param name="FlashVars" value="aid=2" />


In je code (ik neem aan as2 ?) kun je dan gewoon aan je variabele adhv _root.aid .

  • Lentje
  • Registratie: Juni 2001
  • Laatst online: 20-11 21:53
Dat krijg ik ook niet werkend. Misschien dat iemand iets ziet in de fla: http://www.brightwood.nl/photo-upload.fla

Verwijderd

Je laadt je variabelen uit pass.php, maar je pass.php is wss nog niet ingeladen, als je op deze manier wil werken (dmv loadVariables zul je een listener functie moeten aanmaken die controleert of je variabelen al ingeladen zijn, en dit dmv setInterval.
Maar om eerlijk te zijn vind ik deze toch niet de beste manier om te werken. Veel beter werk je dan met LoadVars.

Rechtstreeks uit de help:
code:
1
2
3
4
5
6
7
8
9
var my_lv:LoadVars = new LoadVars();
my_lv.onLoad = function(success:Boolean) {
    if (success) {
    trace(this.toString());
    } else {
    trace("Error loading/parsing LoadVars.");
    }
};
my_lv.load("http://www.helpexamples.com/flash/params.txt");

  • Lentje
  • Registratie: Juni 2001
  • Laatst online: 20-11 21:53
Jeps, dit deed het hem uiteindelijk.

Bedankt desaturated!

Toch raar dat die url methode niet werkte.

Verwijderd

In AS3 kun je met een URLVariables object dequerystring variabelen ophalen. In AS2 zou het ook moeten lukken, maar het is ook een tijdje geleden dat ik me er nog mee bezig gehouden heb. Meestal gebruik ik gewoon FlashVars voor dergelijke zaken.
Pagina: 1