Zwei Frames gleichzeitig ändern

Hallo,
ich ändere zwei Frames gleichzeitig und möchte nun den zweiten frame aber nur ändern, wenn die datei auch vorhanden ist.

Zur Erklärung:
über php lese ich einen ordner aus und zeige alle bilder in einem frame an. klickt man nun auf eines dieser bilder, wird im zweiten frame dieses bild groß angezeigt und im dritten frame wird die beschreibung zu diesem bild angezeigt. jedoch gibt es nicht immer eine beschreibung zu einem bild, dann soll eben ein leerer frame angezeigt werden.

Quelle: http://www.mle-webandmore.de/galerie/

Code:

function ladeGallerieBild( sBildname ) {
parent.frames[„hauptframe“].document.getElementsByTagName(„img“)[0].src = „/galerie/images/“ + sBildname;
parent.frames[„bildbeschreibung“].document.location.href="/galerie/_beschreibungen/" + sBildname + „.html“;
}

<?php // Galerie anzeigen
{ $bilder = glob( "images/\*.jpg" ); natsort( $bilder ); foreach ($bilder as $bild) { $bild = array\_pop( explode( "/", $bild ) ); echo '[ '; } } ?\>](%23)

html>

function ladeGallerieBild( sBildname ,bBeschreibung) {
parent.frames[„hauptframe“].document.getElementsByTagName(„img“)[0].src = „/galerie/images/“ + sBildname;
if (bBeschreibung == „true“) {
parent.frames[„bildbeschreibung“].document.location.href="/galerie/_beschreibungen/" + sBildname + „.html“;
} else {
parent.frames[„bildbeschreibung“].document.location.href="/galerie/_beschreibungen/keinEintrag.html";
}
}

<?php // Galerie anzeigen
{ $bilder = glob( "images/\*.jpg" ); natsort( $bilder ); foreach ($bilder as $bild) { $bild = array\_pop( explode( "/", $bild ) ); $file = dirname(\_\_FILE\_\_)."/galerie/\_beschreibungen/".$bild.".html"; if (file\_exists($file)) {$beschreibung = "true"; } else { $beschreibung = "false"; } echo '[';}}?\>](%23)

Hallo,
erstmal vielen Dank für Deine Mühe.

Habe deinen Code eingebaut, aber er setzt jetzt bBeschreibung immer auf false. Könntest Du vielleicht nochmal drüber schauen. Danke.
www.mle-webandmore.de/galerie3

function ladeGallerieBild( sBildname ,bBeschreibung) { parent.frames[„hauptframe“].document.getElementsByTagName(„img“)[0].src
= „/galerie3/images/“ + sBildname;
if (bBeschreibung == „true“) {
parent.frames[„bildbeschreibung“].document.location.href="/galerie3/_beschreibungen/"

  • sBildname + „.html“;
    } else {
    parent.frames[„bildbeschreibung“].document.location.href="/galerie3/_beschreibungen/leer.html";
    }
    }
<?php // Galerie anzeigen
{ $bilder = glob( "images/\*.jpg" ); natsort( $bilder ); foreach ($bilder as $bild) { $bild = array\_pop( explode( "/", $bild ) ); $file = dirname(\_\_FILE\_\_)."/galerie3/\_beschreibungen/".$bild.".html"; if (file\_exists($file)) {$bBeschreibung = "true"; } else { $bBeschreibung = "false"; } echo '['; } } ?\>](%23)

Hallo Leinberger,

bitte gewöhnt Dir doch das PRE-TAG an!

$bild = array\_pop( explode( "/", $bild ) );
$file = dirname(\_\_FILE\_\_)."/galerie3/\_beschreibungen/".$bild.".html"; 
if (file\_exists($file)) {$bBeschreibung = "true"; } else { $bBeschreibung = "false"; }
echo ' ';
}

Dein Aussage ist übrigens nicht ganz korrekt. Die oben zitierte Routine setzt die Beschreibung nicht auf „FALSE“ sondern auf Leerstring.

und das liegt an einem fehlenden großen B im echo.

MfG Georg V.

$file = dirname(__FILE__)."/galerie3/_beschreibungen/".$bild.".html";

das musst du anpassen. Also den absoluten Pfad zu deinem Beschreibungs Pfad.

bei Linux(Unix)

$file = „src/www/galerie3/_beschreibungen/“.$bild.".html";

oder bei Windows server

$file = „C:\srv\www\galerie3\_beschreibungen\“.$bild.".html";

wie gesagt pass den gesammten pfad an, bis er true anzeigt, da er dann auch die datei findet.

Dein Aussage ist übrigens nicht ganz korrekt. Die oben
zitierte Routine setzt die Beschreibung nicht auf „FALSE“
sondern auf Leerstring.

ne sie setzt wirklich entweder false oder true , aber ist vorher nicht defeniert, warum auch , ist nur php :smile:

es geht auch der relative pfad

also

$file = „images/“.$bild.".html";

wenns im unterordner images

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,
also dieses Problem habt IHR gelöst, vielen vielen Dank Euch beiden.

Wenn ich jetzt noch lerne wie ich Code hier im Forum richtig einbinde, dann werde ich wohl weniger Probleme haben.

ALSO VIELEN DANK NOCHMAL.

DER NEULING, der aber lernwillig ist!!!