Problem mit Link in meiner Gallery

Zimtgruen

Erfahrenes Mitglied
Guten Tag,

ich hab ein kleines Problem mit meiner Gallery auf dieser website: http://www.zimtgruen.de
Und zwar öffnet sich, wenn man auf "Natur" klickt eine Vorschau im iframe vorschau und wenn man dann auf eines der bildchen klickt sollte sich das bildchen im iframe content öffnen. das problem is aber, dass sich nicht das bild öffnet, das angeklickt hat sondern immer das erste bild der galerie. aber ich hab extra im link die id des bildes angegeben, die geöffnet werden soll. Es hat auch alles funktioniert, als das bild noch im gleichen iframe geöffnet wurde, in dem auch die Vorschaugalerie war.
Woran liegt das, dass es jetzt nicht mehr geht? Kann man so Anhängsel an Links nicht über mehrere iframes verschicken? Das kann ich mir kaum vorstellen.

hoffentlich weiß jemand rat,danke schonmal

lg
zimtgruen
 
Also der HTML-Code an sich sieht nicht verkehrt aus, ich gehe also mal davon aus, dass in dem PHP-Code was nicht stimmt. Der wäre jetzt natürlich praktisch, um da weiter zu kommen :)

PS: Wenn man die Links mal in 'nem neuen Fenster öffnet, kommt auch immer nur das erste Bild, heißt es muss ja was mit den PHP-Skripten zu tun haben
 
Zuletzt bearbeitet:
vorschaunatur.php
PHP:
<?php
$sql = "SELECT ID, Bild, titel FROM gnatur";
$ergebnis = mysql_query($sql);
	while($array = mysql_fetch_array($ergebnis))
	{
	$bild = $array["ID"];


	echo " <a href=\"gnatur.php?start=$bild\" target=\"main\"><img src=\"thumbnail.php?Bild=".$array["Bild"]."\" border=\"0\"></a>";
}
?>

gnatur.php
PHP:
<?php   
$anzeigen=1; //Anzahl der Datens‰tze, die auf einer Seite angezeigt werden sollen
if($_GET['vor']){$start=$_GET['start']+$anzeigen;}
elseif($_GET['back']){$start=$_GET['start']-$anzeigen;}
else{$start=0;}
//Auslesen der Eintr‰ge
$tabellenname="gnatur";
$sql="SELECT ID, Bild, titel FROM $tabellenname LIMIT $start , $anzeigen"; 
                                                // nur bestimmte Eintr‰ge anzeigen
// Verbindung zur Datenbank 
......


$result = mysql_query($sql, $link);
for($i=0;$i<mysql_num_rows($result);$i++)
//Ermitteln, wie viele Eintr‰ge vorliegen
$sql1="SELECT COUNT(*) FROM $tabellenname ";
$result1 = mysql_query($sql1, $link);
$max= mysql_result($result1,0,0);
//Ausgeben der Links vor und zur¸ck     
?>
<center><table class="galerie" width="500" border="0"><tr><td align="left" width="70"><?php
if($start>=$anzeigen)
 echo "<a href=\"".$_SERVER['PHP_SELF']."?start=".$start."&back=1\">Zur&uuml;ck</a>";
echo "</td><td align=\"center\" width=\"360\">";
{
$row=mysql_fetch_array($result);
echo "<b>".$row['titel']." </b></td>";
} 
if($start<$max-1)
 echo "<td align=\"right\" width=\"70\"><a href=\"".$SERVER['PHP_SELF']."?start=".$start."&vor=1\">Weiter</a></td>";
echo "</tr></table><br>";
echo "<img src=\"".$row['Bild']."\"><p><br>"; 
           
?>

also es hat ja funktioniert bevor ich dem link in vorschaunatur.php ein anderes ziehl gegeben hab.
 
Du rufst über den Link z.B. gnatur.php?start=5 auf. In diesem Fall wird die Variable $start auf 0 gesetzt, es wird also immer das erste Bild angezeigt!

Versuche es mal, $start im else-Zweig auf $_GET["start"] - 1 zu setzen, dann sollte immer das Bild angezeigt werden, was auch angeklickt wurde.

Außerdem würde ich dir empfehlen, die Daten aus dem GET-Array vorher immer zu validieren, ob diese auch erwartungsgemäße Werte enthalten.
 
Das kann ich mir nun auch nicht so genau erklären, jedenfalls lag der Fehler im PHP-Script. Vielleicht hast du ja über die Vor und Zurück-Links navigiert, die haben ja wunderbar funktioniert. Wie dem auch sei.. ^^
 
hmm jetzt kam das nächste problem, was ich vorhin schonmal hatte, aber gelöst hatte, aber jetzt ist es wieder da und zwar dass jetzt immer das nächste bild angezeigt wird und nicht das, was man eigtl angeklickt hat
 
Erst einmal herzlichen Glückwünsche, tolle Fotos und ein sehr schönes Seitenlayout.

Aber...

... wenn du in der Natur Galerie ein bild direkt auswählst, wird immer das nächste in der Reihenfolge angezeigt.

... sind die hüpfenden hovers bei den Textlinks wirklich gewollt?

... du hast da noch ein paar kleine Probleme mit den Umlauten. Manche kommen richtig, manche falsch. Du mußt da noch alle Seiten konsequent auf utf-8 oder iso Format einstellen und die Umlaute entsprechend schreiben.

... hast du keine bessere Lösung als iFrames gefunden? Der Scrollbalken bei der Galerie zerstört das komplette Design. Ich würde vorschlagen, entweder ein mehrere Seien anzulegen mit immer nur einer begrenzten Anzahl von Vorschaubildern oder die Seite einfach verlängern, was auch den Hochformat Fotos zu Gute käme.
 
gnatur.php
PHP:
<div class="main">
<?php   
$anzeigen=1; //Anzahl der Datens‰tze, die auf einer Seite angezeigt werden sollen
if($_GET['vor']){$start=$_GET['start']+$anzeigen;}
elseif($_GET['back']){$start=$_GET['start']-$anzeigen;}
else{$_GET['start'];}
//Auslesen der Eintr‰ge
$tabellenname="gnatur";
$sql="SELECT ID, Bild, titel FROM $tabellenname LIMIT $start , $anzeigen"; 
                                                // nur bestimmte Eintr‰ge anzeigen
// Verbindung zur Datenbank 
....

$result = mysql_query($sql, $link);
for($i=0;$i<mysql_num_rows($result);$i++)
//Ermitteln, wie viele Eintr‰ge vorliegen
$sql1="SELECT COUNT(*) FROM $tabellenname ";
$result1 = mysql_query($sql1, $link);
$max= mysql_result($result1,0,0);
//Ausgeben der Links vor und zur¸ck     
?>
<center><table class="galerie" width="500" border="0"><tr><td align="left" width="70"><?php
if($start>=$anzeigen)
 echo "<a href=\"".$_SERVER['PHP_SELF']."?start=".$start."&back=1\">Zur&uuml;ck</a>";
echo "</td><td align=\"center\" width=\"360\">";
{
$row=mysql_fetch_array($result);
echo "<b>".$row['titel']." </b></td>";
} 
if($start<$max-1)
 echo "<td align=\"right\" width=\"70\"><a href=\"".$SERVER['PHP_SELF']."?start=".$start."&vor=1\">Weiter</a></td>";
echo "</tr></table><br>";
echo "<img src=\"".$row['Bild']."\"><p><br>"; 
           
?>

vorschaunatur.php
PHP:
<?php





$sql = "SELECT ID, Bild, titel FROM gnatur";
$ergebnis = mysql_query($sql);
	while($array = mysql_fetch_array($ergebnis))
	{
	$bild = $array["ID"];


	echo " <a href=\"gnatur.php?start=$bild\" target=\"main\"><img src=\"thumbnail.php?Bild=".$array["Bild"]."\" border=\"0\"></a>";
}
?>
 
Zurück