kleiner Ansprachefehler ?

marv Fox

Mitglied
Jo moin und tach auch,
folgendes Problem hat sich bei mir aufgetan und vielleicht kann mir einer weiterhelfen stehe ziemlich auf dem schlauch. ich habe ein PHP Array was ich an Flash übergebe. Per GET. Scheinbar funktionakelt das auch. Also ich kann die Länge des Array auslesen und sie scheint zu stimmen. Aber leider ist das Problem das ich keine Values des Arrays auslesen kann ich poste hier mal die Codes. Vielleicht weiß jemand von euch bescheid.


HTML einbindung der Flash datei
PHP:
<object type="application/x-shockwave-flash" data="<?php echo URL_STANDARD ?>/imgserver/flash/menue.swf?menuearray=<?php echo $arrTree ?>&curPage=<?php echo $curPage ?>&curSection=<?php echo $curSection ?>" style="width: 210px; height: 400px;">

PHP Array
PHP:
$i=0;
$arrTree[$i]['strName'] = ""; //Name der Seite (wird z.B. im Menü ausgegeben)
$arrTree[$i]['strTitle'] = null; //PageTitle. Wenn auf "null" wird Standard verwendet
$arrTree[$i]['strLink'] = ""; //Link zu dieser Seite
$arrTree[$i]['boolInMenu'] = false; //Soll diese Seite im Menü dargestellt werden, oder nicht
$arrTree[$i]['strUniqueTitle'] = ""; //Eindeutiger Name (zumindest innerhalb dieser Sektion)
$arrTree[$i]['strCurrHiglighting'] = ""; //Gibt an welcher Punkt gehighlightet wird

$i++; //Ab hier gehts los:
$arrTree[$i]['strName'] = "Startseite";
$arrTree[$i]['strTitle'] = null;
$arrTree[$i]['strLink'] = URL_STANDARD . "/de/index/";
$arrTree[$i]['boolInMenu'] = false;
$arrTree[$i]['strUniqueTitle'] = "startseite";

Flashteil
PHP:
stop();
y = 0;

for (i=0; i<_root.menuearray.length; i++) {
	this.attachMovie("menuepunkt","menuepunkt"+i,i);
	setProperty(_root["menuepunkt" + i],_y,y);
	y = y + hoehe_menuepunkt;
	_root["menuepunkt" + i].gesamt.textfeld.text = _root.menuearray[1];
}
 
Hi,

bevor ich mich da tiefer durchwurstele: Was steht in der html-Seite, die von PHP erzeugt wird (genauer: im Object-Tag)?

Gruß
.
 
oh da hat er mir doch glatt was abgeschnitten. Böses Forum, warte dat steht da drin

PHP:
<object type="application/x-shockwave-flash" data="<?php echo URL_STANDARD ?>/imgserver/flash/menue.swf?menuearray=<?php echo $arrTree ?>&curPage=<?php echo $curPage ?>&curSection=<?php echo $curSection ?>&URL_STANDARD=<?php echo URL_STANDARD ?>" style="width: 210px; height: 400px;">
			<param name="allowScriptAccess" value="sameDomain" />
			<param name="movie" value="<?php echo URL_STANDARD ?>/imgserver/flash/menue.swf?menuearray=<?php echo $arrTree[1] ?>&curPage=<?php echo $curPage ?>&curSection=<?php echo $curSection ?>&URL_STANDARD=<?php echo URL_STANDARD ?>" />
			<param name="quality" value="high" />
			<param name="bgcolor" value="#E9E9E9" />
		</object>
 
... was ich meinte, war die html-Ausgabe, die Du im Quelltext des Browsers sehen kannst; der PHP-Quelltext bringt nicht allzu viel, da ich die Inhalte sämtlicher Variablen im Kopf einfügen müsse - worauf ich wenig Lust habe. Um Dein Problem zu testen, müsste ich also die PHP-Ausgabe auf meinem Server nachbauen, anstatt einfach eine html-Seite per copy&paste anzulegen.

Gruß
.
 
PHP:
<object type="application/x-shockwave-flash" data="http://linuxkiste/rovi/imgserver/flash/menue.swf?menuearray=Array&curPage=startseite&curSection=&URL_STANDARD=http://linuxkiste/rovi" style="width: 210px; height: 400px;">
			<param name="allowScriptAccess" value="sameDomain" />
			<param name="movie" value="http://linuxkiste/rovi/imgserver/flash/menue.swf?menuearray=Array&curPage=startseite&curSection=&URL_STANDARD=http://linuxkiste/rovi" />
			<param name="quality" value="high" />
			<param name="bgcolor" value="#E9E9E9" />
		</object>

Jo dat isses also da steht zwar Array aber es scheint ja zu funktionieren, denn die length stimmt mitm menüpunkten überein.
 
Nö, genau das wird der Fehler sein (wenn ich PHP besser im Kopf hätte, hätte ich auch gleich sehen müssen, dass echo($meinarray) einfach "Array" ausgibt. - In diesem Fall ist das ein String und die Eigenschaft length gibt einfach die Länge der Zeichenkette "Array" zurück. Willst Du alle Elemente Deines Arrays an den Flashfilm übergeben, musst Du das Array wohl oder übel in einer Schleife durchlaufen und alle Schlüssel mit den jeweiligen Inhalten ausgeben.

Im Übrigen bin ich nicht ganz sicher, ob die Übergabe über die URL in allen Browsern funktioniert (werde ich aber mal testen); vielleicht wäre die Übergabe via FlashVars angebrachter.

Gruß
.
 
Also ich hatte bisher in den aktuellen Browser Firefox, IE 6, Opera, sowie Applegeschichten keine Probleme. Kann ich vielleicht über

LoadVariables();

einen erfolg erziehlen? Hab eigentlich keine Lust das Array zu clustern um es nachher wieder zusammenzusetzen. Naja ich mach glaub ich erst mal Mittagspause und werd mich dann nochmal reinstürzen. MAHLZEIT. :)
 
Hi,

folgende kleine Funktion gibt eine url-codierte Zeichenkette mit dem Inhalt eines Array zurück:
PHP:
function arr_tostring($a) {
	$k = array_keys($a);
	$v = array_values($a);
	$o = "";
	for ($i=0; $i<count($k); $i++) {
		$o.=$k[$i]."=".$v[$i]."&";
	}
	return($o);
}
Da Flash auch assoziative Arrays unterstützt, sollte der Zusammenbau kein Problem darstellen.

Gruß
.
 

Neue Beiträge

Zurück