Hallo,
Hm? Derzeit benutze ich auf meiner HP kein PHP, sondern HTML und JavaScript. Auf den Seiten, die ich nun erstelle, verwende ich PHP.
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.
Wofür gibt's Du 'version' mit und nicht nur 'gross'?
Das ist so ueblich.
blabla.html?gugus
ist so ein Gebastel fuer JavaScript.
Bei PHP uebergibt man normalerweise eben Parameter,
die einen Namen und einen Wert haben:
skript.php?name=wert
Diese sind dann in $_GET['name'] und $_REQUEST['name'] verfuegbar,
bei alten Versionen von PHP (oder wenn register_globals=on ist) auch
als globale Variable $name. Letzteres sollte man aber vermeiden.
Die ganze Sache klappt natürlich nun aber auch nur für jeweils ein Bild. Wenn ich nun aber 25-30 Bilder habe, muss ich entsprechende viele If-Abfragen machen, wobei ich nicht verstehe, warum Du hier eine If-Abfrage machst?
Weil ich nur eine Ja/Nein-Unterscheidung habe.
Entweder ist das grosse Bild verlangt, oder nicht.
Ich klicke auf ein Bild, welches klein dargestellt ist und möchte, dass es dadurch auf eine neue Seite vergrößert dargestellt wird.
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?
Wenn untenstehendes immer noch an Deinen Zielen vorbeischiesst,
beschreibe bitte genauer, was Du erreichen willst.
Du machst am besten im PHP-Skript einen Array fuer die Dateinamen der Bilder.
Du kannst auch gleich noch eine Beschreibung fuer jedes Bild mitdefinieren.
$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... */
}
---
Alles ungetestet und aus dem hohlen Bauch, frisch drauflosgetippt.
Sollte aber funktionieren.
Etwas sehr aehnliches verwende ich hier:
http://www.tiptom.ch/album/keramik/vernissage.html => Thumbnails
http://www.tiptom.ch/album/keramik/vernissage.html?bild=002 => Einzelbild (Web-Version, 75kB)
http://www.tiptom.ch/album/keramik/vernissage.html?hoch=002 => Einzelbild (Original, 850kB)
Gruesse,
Thomas