Tobias W.: Bild Navigation mit PHP

Geehrte SELFHTML-Community
Ich habe ein Problem mit meiner neu erstellten Homepage.

Ich habe eine Portfolio-Gallerie in welcher die Bilder oben in einer Tabellenleiste klein dargestellt sind, und wenn man drauf klickt, sollten sie im unteren Div-Container erscheinen.

Der Code ist folgendermassen aufgebaut:

<div id="bildnavigationoben">

<?php

$bild = "0.gif"; /* Standartbild - Hintergrundfarbe */

if ($_POST['bild1'] == 'bild1')
{
$bild = "1.gif";
};

echo "<table align='left' border='0' bgcolor='#515152' width='176px' cellspacing='1px' cellpadding='1px' height='52px'>";

echo "<tr height='52px'>";
echo "<form action='portfolio.php' method='POST'>";

echo "<td>";
echo "<input type='image' src='../WORK/1.gif' width='50px' height='50px' value='bild1' name='bild1'>";
echo "</td>";

echo "</tr></form>"";

echo "</table>";

?>

</div>

<div id="bereichunten">

<?php

echo "<img src='../BILDER/$bild' width='480px' height='340px'>";

?>

</div>

Diese Methode funktioniert im IE leider nicht:

"Der Internet Explorer (getestet bis Version 6.0) verhält sich bei dieser Art Button leider falsch. Er sendet die Buttonbeschriftung, nicht den Inhalt des value-Attributes. Existieren mehrere Absende-Buttons, werden die Beschriftungen aller Buttons gesendet, nicht nur die des geklickten. Deshalb muss man dem IE leider attestieren, dass er dieses Feature derzeit noch nicht korrekt unterstützt."

Nun meine Frage, wie kann ich diese Art von Navigation so realisieren , dass sie im IE wie im FF korrekt funktioniert?

  1. hi,

    Ich habe eine Portfolio-Gallerie in welcher die Bilder oben in einer Tabellenleiste klein dargestellt sind, und wenn man drauf klickt, sollten sie im unteren Div-Container erscheinen.

    echo "<form action='portfolio.php' method='POST'>";

    Aus welchem Grund willst du POST als Methode für sowas essentielles wie die Navigation benutzen.

    Diese Methode funktioniert im IE leider nicht:

    "Der Internet Explorer (getestet bis Version 6.0) verhält sich bei dieser Art Button leider falsch. [...]

    Das bezieht sich auf <button>-Elemente.
    Du nutzt überhaupt keine <button>-Elemente.

    Nun meine Frage, wie kann ich diese Art von Navigation so realisieren , dass sie im IE wie im FF korrekt funktioniert?

    http://www.php-faq.de/q/q-formular-image.html

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. hi,

      Ich habe eine Portfolio-Gallerie in welcher die Bilder oben in einer Tabellenleiste klein dargestellt sind, und wenn man drauf klickt, sollten sie im unteren Div-Container erscheinen.

      echo "<form action='portfolio.php' method='POST'>";

      Aus welchem Grund willst du POST als Methode für sowas essentielles wie die Navigation benutzen.

      Diese Methode funktioniert im IE leider nicht:

      "Der Internet Explorer (getestet bis Version 6.0) verhält sich bei dieser Art Button leider falsch. [...]

      Das bezieht sich auf <button>-Elemente.
      Du nutzt überhaupt keine <button>-Elemente.

      Nun meine Frage, wie kann ich diese Art von Navigation so realisieren , dass sie im IE wie im FF korrekt funktioniert?

      http://www.php-faq.de/q/q-formular-image.html

      gruß,
      wahsaga

      Ich benütze ja die Input-Elemente,welche grafischen Buttons für den Submit-Button entsprechen.

      Danke für den Link, diese Methode verwende ich bereits, aber mein Problem ist, dass sich den "value"-Wert der jeweiligen Bilder nicht auslesen lässt im IE da nur die Koordinaten des Mausklickes gesendet werden!

      Gruss Tobias

      1. hi,

        bitte zitiere vernünftig!

        Danke für den Link, diese Methode verwende ich bereits, aber mein Problem ist, dass sich den "value"-Wert der jeweiligen Bilder nicht auslesen lässt im IE da nur die Koordinaten des Mausklickes gesendet werden!

        Die reichen, bei unterschiedlicher Benennung der Inputs, ja aus, um den zum Absenden verwendeten zu identifizieren.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. hi,

          bitte zitiere vernünftig!

          Danke für den Link, diese Methode verwende ich bereits, aber mein Problem ist, dass sich den "value"-Wert der jeweiligen Bilder nicht auslesen lässt im IE da nur die Koordinaten des Mausklickes gesendet werden!

          Die reichen, bei unterschiedlicher Benennung der Inputs, ja aus, um den zum Absenden verwendeten zu identifizieren.

          gruß,
          wahsaga

          Ich bin noch ein Anfänger in PHP, deshalb sind meine Fragen noch nicht so präzise formuliert,sorry!

          Der IE liest nur die Koordinaten aus, kannst du mir helfen mit dem Code wie ich das nun am besten realisiere mit der Weitergabe?

          Aus dem Post auf php-faq.de wurde ich nicht wirklich schlau!

          MFG Tobias

          1. hi,

            Ich bin noch ein Anfänger in PHP, deshalb sind meine Fragen noch nicht so präzise formuliert,sorry!

            Das sollte dich verflixt noch mal trotzdem nicht daran hindern, wenigstens vernünftig zu zitieren, wenn du schon explizit dazu aufgefordert wirst!

            Der IE liest nur die Koordinaten aus, kannst du mir helfen mit dem Code wie ich das nun am besten realisiere mit der Weitergabe?

            Schau dir mittels print_r($_POST) an, was der IE für verschiedene solcher grafischer Absende-Buttons liefert.
            Ziehe deine Schlüsse daraus.

            Aus dem Post auf php-faq.de wurde ich nicht wirklich schlau!

            Aus "aus xy werde ich nicht schlau"-Antworten wird hier auch niemand schlau.
            Wenn du ein konkretes Verständnisproblem hast, stelle eine konkrete Frage.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Schau dir mittels print_r($_POST) an, was der IE für verschiedene solcher grafischer Absende-Buttons liefert.

              Wie geht das genau?

              Alternativ kann man an den Variablennamen eines <INPUT TYPE="image"> »» eckige Klammern [] anhängen; man erhält in PHP dann ein Array mit dem »» Namen des Buttons, das die Koordinaten des Klickpunktes enthält. »» »» Mehrere solcher Image-Buttons kann man als button[a][], button[b][] »» usw. benennen und die Werte aus den Arrays $_REQUEST['button']['a'], »» $_REQUEST['button']['b'] usw. auslesen. Ob ein bestimmter Button »» »» gedrückt wurde, überprüft man mit  isset()  : if »» (isset($_REQUEST['button']['b'])) (bzw. vor PHP 4.1.0 if »» (isset($HTTP_GET_VARS['button']['b'])) oder if »» (isset($HTTP_POST_VARS['button']['b']))).

              Ok, konkrete Frage, WAS bedeutet das konkret auf meinen Code bezogen?

              1. hi,

                Schau dir mittels print_r($_POST) an, was der IE für verschiedene solcher grafischer Absende-Buttons liefert.

                Wie geht das genau?

                So, wie's da steht ...

                Ok, konkrete Frage, WAS bedeutet das konkret auf meinen Code bezogen?

                Das bedeutet, dass du es so oder ähnlich in deinem Code implementieren könntest.

                gruß,
                wahsaga

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }
                1. Wie geht das genau?

                  So, wie's da steht ...

                  Du wirkst nicht gerade kompetent muss ich sagen, solche Antworten bringen einem rein gar nichts. Ist sehr schade wie Anfänger hier vergrault werden.

                  Ok, konkrete Frage, WAS bedeutet das konkret auf meinen Code bezogen?

                  Das bedeutet, dass du es so oder ähnlich in deinem Code implementieren könntest.

                  Ich denke nicht dass ein Anfänger dies genau versteht...

                  Ich will dich nicht kritisieren doch finde es sehr bedenklich wie du mit Anfängern umgehst.