Aber mache ich nicht genau das
Nein, machst Du nicht. Der Link auf showFoto.php?id=$id&no=$no_rueck liefert lediglich html-Text zurück. Innerhalb dieses Textes steht dann wieder ein img-Tag, welches auf eine vom Browser bereits geladene Bilddatei verweist. Diese wird dann natürlich nicht neu geladen. Mach Dir klar, wieviele Requests vom Client gestellt werden, wenn er eine HTML Datei aufbaut und welche Daten dabei geladen werden:
1. Der Browser lädt die in der Adresse angegebene URL (z.B. http://neoflo.ne.funpic.de/showFoto.php?id=10&no=8). Daraus resultiert (meistens) HTML-Text. Dieser wird geparsed. Anschließend werden die Bilder geladen, die im HTML Quelltext gefunden werden.
2. Für jedes Bild wird ein eigener Request generiert. (z.B. für http://neoflo.ne.funpic.de/image_neu.JPG) Sofern ein Bild schon geladen wurde und im Cache des Browsers steht, wird es nicht erneut geladen, ausser bei einer expliziten Aktualisierung. Dabei gilt, dass ein und dasselbe Bild natürlich auf mehreren Seiten vorhanden sein kann, was ja z.B. bei Hintergrundbildern auch üblich ist. Die URLs der Bilder ergeben sich aber aus dem Wert des src-Attributes des img-Tags der Seite in der sie enthalten sind. Für den Brower bezieht sich <img src='image_neu.JPG'> immer auf dasselbe Bild, auch wenn dieses Bild auf verschiedenen Seiten verwendet wird. Die URL der Seite auf der ein Bild verwendet wird ist unabhängig von der URL des Bildes selbst. Du musst also die URL, welche das Bild referiert ändern, z.B. indem das Bild durch ein Skript zurückgegeben wird. Dann steht in deinem HTML Text etwa <img src='thumbnail.php?id=10&no=8'> für die Miniaturansicht und <img src='image.php?id=10&no=8'> für die Originalgröße.
Kurz gesagt: Der Browser denkt, Du verwendest das gleiche Bild auf mehreren Seiten und lädt dies nicht erneut. Sorge dafür, dass die Bilder (nicht die HTML-Seiten, auf denen sie verwendet werden) unterschiedliche URLs haben und die Sache funzt.
MfG
GK