Stanload: Bild vergrößert darstellen

Beitrag lesen

Hallöchen,

OK, Du faengst also mit PHP erst gerade an.
Gut zu wissen;-)

Kauf Dir ein gutes Buch, oder lies Dich auf dem Web in die Grundlagen ein.
Alles koennen wir Dir hier nicht erklaeren.

Ein bissle Erfahrung habe ich schon mit PHP, aber bestimmt nicht soviel, wie viele andere hier.

Ich nehme mal an, dass Du eine Thumbnail-Uebersicht hast und
dort die kleinen Bilder anzeigen willst.
Bei Klick auf ein Thumbnail soll dann eine HTML-Seite angezeigt
werden, in die das Bild eingebettet ist.
Richtig?

So kann man es sehen, wobei die Seiten halt nicht nur aus Bildern, sondern auch aus Text bestestehen, hier ein Beispiel:
http://www.stanload.de/ontour/2003061623.html

$klein[1]="klein1.jpg";
$gross[1]="gross1.jpg";
$beschreibung[1]="Ich auf dem Mount Everest";

$klein[]="kleinbild2.jpg";  // PHP zaehlt automatisch weiter. $klein[] ist also $klein[2]
$gross[]="grossbild2.jpg";
$beschreibung[]="Ich in der Badehose";

$klein[]="kleinesbild3.jpg";
$gross[]="grossesbild3.jpg";
$beschreibung[]="Meine Katze";

u.s.w.
(Ich verwende statt einem Array fuer diesen Zweck eine Klasse.
Hier habe ich Array genommen, weil es einfacher zu erklaeren/begreifen ist.)

Ziel:
Wenn kein Parameter (oder ein falscher) an die URL angehaengt wird,
soll das Skript die Auflistung der Thumbnails anzeigen.
(Die erzeugst Du am besten auch dynamisch mit PHP.)

Wenn ein gueltiger Parameter angehaengt wird, soll das Skript das
einzelne Bild in der grossen Version zeigen.

Ein einzelnes Thumbnail ist dann ein Link mit Parametern:
<a href="skript.php?grossid=1"><img src="klein1.jpg"></a>

Das Skript wird dann also so aufgerufen.
skript.php?grossid=1

In der Variable $_GET['grossid'] steht die Nummer des verlangten Bildes.
Kopiere diesen Wert in eine neue Variable $bildnr, die zuvor auf Null
gesetzt wird, und mach gleichzeitig einen Integer daraus:
$bildnr=0;
if (isset($_GET['grossid']))
   { $bildnr=intval($_GET['grossid']); }

Schau nun, ob es ein Bild mit dieser Nummer gibt:

if (isset($gross[$bildnr])) // Es gibt ein grosses Bild fuer diese Nummer:
   {
    echo "<h2>Bild Nr. $bildnr</h2>\n";
    echo "<p><img src='".$gross[$bildnr]."' alt='Foto Nr. $bildnr'></p>";
    echo "<p>".$beschreibung[$bildnr]."</p>";
   }
else // Kein Bild mit dieser Nummer definiert, oder gar kein Parameter grossid uebergeben:
  {
   /* Quellcode zum Anzeigen der Thumbnails, z.B. mit foreach() Schleife oder so... */
  }

Ich muss also die möglichen Bilder, die es in gross geben wird, erst alle deklarieren?
Wenn ich aber weiss, dass es ein grosses Bild gibt (deshalb biete ich ja den Link an), könnte man doch dadrauf verzichten, oder?
Irgendwie verstehe ich das wohl nicht so wirklich :-(.

Bis denn

Stanload