Joe: Bei Klick dieses Element in selbe Seite ersetzen

Hallo

ich brauche Eure Hilfe ...

Mein Problem:
Ich habe eine Seite mit vielen kleinen Fotos. Wenn nun ein Foto angeklickt wird möchte ich das nun die selbe Seite erneut geladen wird ABER nun soll nur dieses zuvor angeklickte Foto durch einen neuen Inhalt erstzt werden.
d.h. für jedes Foto existiert eine eigene HTML-Seite, welche bei Klick auf das Foto dieses ersetzt. Dieser Fotoersatz sollte an der selben Stelle wie zuvor das Foto war, oder am Seitenanfang geladen werden.
Ich arbeite mit FP-Servererweiterung und würde gerne mit dem Webbot-Komponente "Seite einschliessen" arbeiten. (Format: <!--webbot bot="Include" U-Include="dat.htm" TAG="BODY" -->)
Ist es möglich diese Komponente bei Klick für das Foto zu setzen und dann die Seite neu zu laden (z.B. <a href="#" onClick= ???)
Oder gibt es eine einfache Alternative?

Ich habe keine Erfahrung mit PHP.

Wenn jemand eine Lösung hat, bitte ich um ein detailiertes Beispielscript (Sorry - bin kein Profi)

Vielen, vielen Dank
Joe

  1. Guten Tag

    Mein Problem:
    Ich habe eine Seite mit vielen kleinen Fotos. Wenn nun ein Foto angeklickt wird möchte ich das nun die selbe Seite erneut geladen wird ABER nun soll nur dieses zuvor angeklickte Foto durch einen neuen Inhalt erstzt werden.
    d.h. für jedes Foto existiert eine eigene HTML-Seite, welche bei Klick auf das Foto dieses ersetzt. Dieser Fotoersatz sollte an der selben Stelle wie zuvor das Foto war, oder am Seitenanfang geladen werden.
    Ich habe keine Erfahrung mit PHP.

    Egal. Trotzdem PHP :-)
    Wenn Du z.B. Deine Bilder und Webseiten durchnummeriert hat kannst Du das so machen:

    <html>
    kopf blabla
    <body>

    Anfangsblabla
    Jetzt die Bilder:

    <?php

    for($i=1; $i<=MAXIMALE_ANZAHL_BILDER; $i++;)
    { if($i==$htmlzeigen) include($i.".html");
      else echo "<br><a href="./PHP_DATEI.php?htmlzeigen=".$i.""><img src="./".$i.".jpg" alt="BILD_BESCHREIBUNG"></a><br>\n"; }

    ?>

    Restblabla
    </body>
    </html>

    Dieses Beispiel geht davon aus, daß zu jedem Bild i.jpg (i ist eine Zahl einer fortlaufenden Nummerierung) eine Datei i.html existiert. Bei einem Klick auf das Bild, wird dann die selbe PHP-Datei wieder aufgerufen, das angeklickte Bild jedoch durch die HTML-Datei ersetzt.

    Wenn Du die Bilder nicht fortlaufen nummeriert hast, mußt Du halt dazu noch das Verzeichnis durchsuchen. Wenn die HTML-Datei nicht den gleichen Namen wie das Bild hat, dann wird's langsam asslig (dann mußt Du fast mit Datenbanken arbeiten).

    Ciao,

    Harry

    Wenn jemand eine Lösung hat, bitte ich um ein detailiertes Beispielscript (Sorry - bin kein Profi)

    Vielen, vielen Dank
    Joe

    1. Sorry,
      ich bitte noch um Hilfe ...

      In dem Script muß ein Fehler sein!
      Es fehlt irgendwo ">" !!!
      Das Sript wird nur in die Bildergallerie eingefügt, und als PHP3 abgespeichert? Die Bilddetails heißen HTM? Der Link von der Bildgallerie zum Bilddetail lautet <a href=1.jpg>?

      Vielen Dank
      Joe

      <html>
      kopf blabla
      <body>

      Anfangsblabla
      Jetzt die Bilder:

      <?php

      for($i=1; $i<=MAXIMALE_ANZAHL_BILDER; $i++;)
      { if($i==$htmlzeigen) include($i.".html");
        else echo "<br><a href="./PHP_DATEI.php?htmlzeigen=".$i.""><img src="./".$i.".jpg" alt="BILD_BESCHREIBUNG"></a><br>\n"; }

      ?>

      Restblabla
      </body>
      </html>

      Dieses Beispiel geht davon aus, daß zu jedem Bild i.jpg (i ist eine Zahl einer fortlaufenden Nummerierung) eine Datei i.html existiert. Bei einem Klick auf das Bild, wird dann die selbe PHP-Datei wieder aufgerufen, das angeklickte Bild jedoch durch die HTML-Datei ersetzt.

      Wenn Du die Bilder nicht fortlaufen nummeriert hast, mußt Du halt dazu noch das Verzeichnis durchsuchen. Wenn die HTML-Datei nicht den gleichen Namen wie das Bild hat, dann wird's langsam asslig (dann mußt Du fast mit Datenbanken arbeiten).

      Ciao,

      Harry

      1. Tag

        In dem Script muß ein Fehler sein!

        Stimmt. War ein Strichpunkt zu viel drin.

        Es fehlt irgendwo ">" !!!

        Eher weniger. In der For-Schleife war der letzte Strichpunkt überzählig.

        Das Sript wird nur in die Bildergallerie eingefügt, und als PHP3 abgespeichert? Die Bilddetails heißen HTM? Der Link von der Bildgallerie zum Bilddetail lautet <a href=1.jpg>?

        Das ganze ist ein PHP4-Script, ob das auch mit PHP3 läuft weiß ich nicht, aber ich glaube schon.

        Nochmal der Quelltext (mit Erklärungen):

        --------------
        <html>
        <body>

        Anfangsblabla
        Jetzt die Bilder:

        <?php

        for($i=1; $i<=3; $i++)
        //            ^
        //            Hier mußt Du die Zahl einfügen, wieviele Bilder Du hast (z.B. 3)

        { if($i==$htmlzeigen) include($i.".html");
        //                            ^^
        //                            i ist der Schleifenzähler, aus ihm werden die Dateinamen zusammengesetzt. Das heißt, die Beschreibungen für Deine Bilder werden nach dem Muster 1.html 2.html 3.html ... dem Bild Nummer 1 2 3 zugeordnet. Im Parameter htmlzeigen steht, welche Beschreibung grade angezeigt werden soll.

        else echo "<br><a href="./test.php?htmlzeigen=".$i.""><img
        src="./".$i.".jpg" alt="Mein Bild"></a><br>\n"; }

        // Hier werden die Bilder eingebunden, von denen keine Beschreibung angezeigt wird. Dabei wird ein Link auf eine Seite mit dem Namen test.php (DIESE Seite) gesetzt, den mußt Du ändern, wenn Du die Datei anders nennst. Zusätzlich wird bei einem Klick auf das Bild ein der Parameter htmlzeigen mit der Bildnummer übergeben, d.h. Deine Bilder sollten auch durchnummeriert sein (so 1,2,3,...).
        // Bei alt= kannst Du einen kurzen _Ersatztext_ für das Bild eingeben

        ?>

        Restblabla
        </body>
        </html>

        ------------------------------------------------

        Ich hab's ausprobiert, wenn das jetzt immer noch nicht geht, dann spinnt Dein PHP-Interpreter ein bißchen (oder ich, je nachdem ;-)
        Ciao,

        Harry

        1. Hmpf

          else echo "<br><a href="./test.php?htmlzeigen=".$i.""><img
          src="./".$i.".jpg" alt="Mein Bild"></a><br>\n"; }

          Das gehört natürlich in eine Zeile ...

          1 <?php
          2 for($i=1; $i<=3; $i++)
          3 { if($i==$htmlzeigen) include($i.".html");
          4   else echo "<br><a href="./test.php?htmlzeigen=".$i.""><img src="./".$i.".jpg" alt="BILD_BESCHREIBUNG"></a><br>\n"; }
          5 ?>

          Ciao,

          Harry