Fehler bei Gallerie-Menü

matthiasschnueriger

Erfahrenes Mitglied
Hallo Leute!

Wieder mal ein Problem. Und zwar möchte ich eine Bilder-Gallerie (vorwärts/zurück) ohne Datenbank machen. Ich weiss, das wurde schon mehrmals behandelt aber ich habe wahrscheinlich ein Fehler im Code.

Und zwar habe ich folgende datei (gallerien_bigpic.php), in der dieses vorwärts/zurück menü sein soll:

PHP:
<html>
<head>
<title>"schellen-ursli.ch.vu" - Gallerien</title>
<link rel="stylesheet" type="text/css" href="../../css/schellenursli.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<?php $files = array(); // Für die Dateinamen 

if ($fp = opendir('.')) 
{ 
  while (false !== ($file = readdir($fp))) 
  { 
     if ($file != '.' && $file != '..' && !is_dir($file)) { 
      $files[] = $file; 
    } 
  } 
} ?>
<body bgcolor="#000000" link="#660000" vlink="#660000" alink="#660000">
<table width="600" height="20" border="0" cellpadding="0" cellspacing="0" bgcolor="#660000">
  <tr>
    <td><a href="javascript:history.back();">Zurück zur Übersicht</a> | <a href="http://www.heidis-english.ch/gallerien/snowboardpics/gallerien_bicpic.php?bild=[AKTUELLE_BILD_NR + 1]">weiter</a>
><a href="javascript:history.back();">Zurück zur Übersicht</a> | <a href="http://www.heidis-english.ch/gallerien/snowboardpics/gallerien_bicpic.php?bild=[AKTUELLE_BILD_NR - 1]">weiter</a></td>
  </tr>
</table>

  <?php 
 
echo "<img src='". $pic . "' sheight='400px' width='600px'>"; 
?>


 
</body>
</html>

Ich checke das nicht so ganz, habe ich das falsch verlinkt? Ich weiss, ziemliche Newbie-Frage :-(

Trotzdem danke für einfache, nützliche Antworten.
 
So wie das aussieht kann das nicht funktionieren. Erstmal dieses:

PHP:
($fp = opendir('.'))

das bezieht sich auf das darüberliegende Verzeichnis, liegen deine Bilder wirklich da? Nicht vielleicht unter /images oder so?

Als nächstes bezieht sich deine Varaible $pic nirgendwo drauf. Du musst zunächst die aktuelle Seite erfahren, z.B. $seite=5 dann wäre $pic=$file[$seite]

Die Seitenangabe bekommst du mittels $_GET["bild"] wenn du auf die nächste Seite gehst. Auf der ersten Seite ist $_GET["bild"] natürlich leer oder 0, per if-Anweisung machst du daraus ne 1.

Als nächstes dieses hier in deinen Links:

PHP:
...?bild=[AKTUELLE_BILD_NR + 1]...

sollte so aussehen:

PHP:
...?bild=($bild+1)...

Und zu guter letzt, mit dem javascript:history.back gelangst du dann ab der 2. Seite ganz sicher nicht mehr in die Übersicht zurück.
Im Ganzen:

PHP:
<html> 
<head> 
<title>"schellen-ursli.ch.vu" - Gallerien</title> 
<link rel="stylesheet" type="text/css" href="../../css/schellenursli.css"> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 
<?php $files = array(); // Für die Dateinamen 
$bild = $_GET["bild"];
if($bild < 1) { $bild=1; }
$bild_verz = "images"; //zum Beispiel

if ($fp = opendir($bild_verz)) 
{ 
  while (false !== ($file = readdir($fp))) 
  { 
     if ($file != '.' && $file != '..' && !is_dir($file)) { 
      $files[] = $file; 
    } 
  } 
} ?> 
<body bgcolor="#000000" link="#660000" vlink="#660000" alink="#660000"> 
<table width="600" height="20" border="0" cellpadding="0" cellspacing="0" bgcolor="#660000"> 
  <tr> 
    <td><a href="http://www.heidis-english.ch/gallerien/snowboardpics/gallerien_bicpic.php?bild=($bild-1)">zurück</a> 
<a href="http://www.heidis-english.ch/gallerien/snowboardpics/gallerien_bicpic.php?bild=($bild+1)">weiter</a></td> 
  </tr> 
</table> 

  <?php 

echo "<img src='". $files[$bild] . "' height='400px' width='600px'>"; 
$close_verz = closedir($fp);
?>
 
So wie das aussieht kann das nicht funktionieren. Erstmal dieses:

PHP-Code:
($fp = opendir('.'))


das bezieht sich auf das darüberliegende Verzeichnis, liegen deine Bilder wirklich da? Nicht vielleicht unter /images oder so?

Der . bezieht sich eigenlich auf das aktuelle verzeichniss. ' .. ' bezieht sich auf das darüberliegende.
 
Zurück