fehler??

insp!re

Ensign
Registriert
Sep. 2006
Beiträge
142
ich habe ein problem, undzwar geht mein code nicht, allerdings weiß ich nicht warum...

am anfang:
PHP:
$verz=opendir("pictures/".$_GET["section"]."/original/");

$dateien = scandir("pictures/".$_GET["section"]."/original/");

unset($dateien[0], $dateien[1]);
$dateien = array_values($dateien);

im head-teil:
HTML:
<script language="JavaScript">
	
	<!--
	
	function BilderVorladen()
	
	{
	
		document.Vorladen = new Array();
	
	 
	
		if(document.images)
	
		{
	
			for(var i = 0; i < BilderVorladen.arguments.length; i++)
	
			{
	
				document.Vorladen[i] = new Image();
	
				document.Vorladen[i].src = BilderVorladen.arguments[i];
	
			}
	
		}
	
	}
	
	//-->
	
	</script>

danach:
PHP:
<body bgcolor="#CCCCCC" onload="BilderVorladen(			
<?php
foreach($dateien as $value) 
{ 
	echo "'pictures/".$_GET["section"]."/original/".$value."', "; 
} 
?>

);">

wo liegt der fehler?
 
Zuletzt bearbeitet:
Auf den ersten Blick würde ich sagen: am Komma in der generierten Argumentenliste, hinter dem letzten Argument steht ein Komma, was syntaktisch falsch ist.

Sinnvoller wäre
PHP:
<body bgcolor="#CCCCCC" onload="BilderVorladen(            
<?php
$params = array();
foreach($dateien as $value)  { 
    $params[] = htmlSpecialChars("'pictures/".$_GET["section"]."/original/".$value."'";
} 
echo implode(',', $params);
?>

);">

Du solltest ferner noch $_GET["section"] auf Validität überprüfen und $_GET["section"] und $value mit rawUrlEncode() bearbeiten.

greetings, Keita
 
Zurück
Oben