Images mit hidden inputs mit verschiedenen values ?

  • Hallo,


    ich habe eine .php geschrieben. Darin ist ein Formular in HTML enthalten in welchem Bilder mit "überlappenden" hidden inputs mit verschiedenen values stehen.
    Ich möchte das beim Klicken auf das eine Bild ein bestimmter value übergeben wird, beim Klick auf das zweite Bild ein anderer value... usw.


    Ich bin davon ausgegangen, dass ich die hidden inputs wie die Bilder skalieren kann - das scheint aber nicht der Fall zu sein, weil immer der erste value übergeben wird?!
    Folgendermaßen habe ich mir das erhofft:
    [code=php]<input type="hidden" name="A1" style="width=106px; height=69px; border=0px; margin-left:0px; float=left" value="A1"/>
    <input type="image" name="IA1" style="width=106px; height=69px; border=0px; margin-left:0px; float=left" src="resources/A1.png" alt=""/>
    <input type="hidden" name="B1" style="width=128px; height=69px; border=0px; margin-left:-6px; float=left" value="B1"/>
    <input type="image" name="IB1" style="width=128px; height=69px; border=0px; margin-left:-6px; float=left" src="resources/B1.png" alt=""/>
    <br>
    <input type="hidden" name="A2" style="width=85px; height=49px; border=0px; margin-top:-3px; float=left" value="A2"/>
    <input type="image" name="IA2" style="width=85px; height=49px; border=0px; margin-top:-3px; float=left" src="resources/A2.png" alt=""/>
    <input type="hidden" name="B2" style="width=60px; height=49px; border=0px; margin-top:-3px; margin-left:-6px; float=left" value="B2"/>
    <input type="image" name="IB2" style="width=60px; height=49px; border=0px; margin-top:-3px; margin-left:-6px; float=left" src="resources/B2.png" alt=""/>
    <input type="hidden" name="C2" style="width=89px; height=49px; border=0px; margin-top:-3px; margin-left:-6px; float=left" value="C2"/>
    <input type="image" name="IC2" style="width=89px; height=49px; border=0px; margin-top:-3px; margin-left:-6px; float=left" src="resources/C2.png" alt=""/>[/php]


    Scheinbar bin ich fehlinformiert?! :s


    Ich bin wie immer dankbar für jede Hilfe!


    Viele Grüße


    p.s. sorry für die eklige Programmierung - ich wollte erstmal die Funktionalität sicherstellen bevor ich mich um responsive Design kümmere... :X

  • Ich weiss nicht genau, was am Schluss rauskommen soll...


    -> Wenn beim Klick auf ein Bild eine entsprechende Seite geladen werden soll,
    dann einfach einen Link mit dem Bild drin machen. Wenn die Seite Argumente
    braucht, dann haengt man sie per &arg=value an die URL und bekommt sie
    in $_GET["arg"] wieder ins PHP


    -> Wenn es das hidden Feld wirklich braucht, dann das Feld mit JavaScript
    fuellen wenn auf ein Bild geklickt wird.

  • Vielen Dank für eure Antworten!


    Ich möchte verschiedene Bilder neben- und untereinander setzen (möglichst nahtlos aneinander...aber das bekomme ich ja mit css hin).
    Beim Klicken auf das eine Bild soll eine Aktion (ausgelöst durch einen bestimmten value) und beim Klick auf ein anderes Bild eine andere Aktion ausgeführt werden, usw...


    Folgender Code ist in meiner PHP:
    [code=php]<html>
    <body>
    <form method="post">
    <input type="hidden" name="A1" style="width=106px; height=69px; border=0px; margin-left:0px; float=left" value="A1"/>
    <input type="image" name="IA1" style="width=106px; height=69px; border=0px; margin-left:0px; float=left" src="../../Users/User/Desktop/Bilder Fernbedienung/A1.png" alt=""/>
    <input type="hidden" name="B1" style="width=128px; height=69px; border=0px; margin-left:-6px; float=left" value="B1"/>
    <input type="image" name="IB1" style="width=128px; height=69px; border=0px; margin-left:-6px; float=left" src="../../Users/User/Desktop/Bilder Fernbedienung/B1.png" alt=""/>
    <br>
    <input type="hidden" name="A2" style="width=85px; height=49px; border=0px; margin-top:-3px; float=left" value="A2"/>
    <input type="image" name="IA2" style="width=85px; height=49px; border=0px; margin-top:-3px; float=left" src="../../Users/User/Desktop/Bilder Fernbedienung/A2.png" alt=""/>
    <input type="hidden" name="B2" style="width=60px; height=49px; border=0px; margin-top:-3px; margin-left:-6px; float=left" value="B2"/>
    <input type="image" name="IB2" style="width=60px; height=49px; border=0px; margin-top:-3px; margin-left:-6px; float=left" src="../../Users/User/Desktop/Bilder Fernbedienung/B2.png" alt=""/>
    <input type="hidden" name="C2" style="width=89px; height=49px; border=0px; margin-top:-3px; margin-left:-6px; float=left" value="C2"/>
    <input type="image" name="IC2" style="width=89px; height=49px; border=0px; margin-top:-3px; margin-left:-6px; float=left" src="../../Users/User/Desktop/Bilder Fernbedienung/C2.png" alt=""/>
    ...usw
    </form>
    <?php
    if (isset($_POST['A1'])) {
    ...i.was
    }
    elseif (isset($_POST['A2'])){
    ... i.was anderes
    }...usw.
    ?>
    </body>
    </html> [/php]


    Beim Klicken auf das erste Bild wird A1 als value auch übergeben, allerdings wird A1 auch übergeben, wenn ich auf irgendein anderes Bild klicke...
    Helfen euch die Informationen ein bisschen?


    Viele Grüße und danke für eure Hilfe!

  • So geht das:


    index.php


    Edited once, last by Tell ().

  • Danke für Deine Antwort,


    ich packe also Links auf die Bilder und frage mit folgender Zeile ab was gedrückt wurde:

    PHP
    <h1><?php echo $_GET["clicked"] ?></h1>


    ...wie kann ich denn hier verschiedene cases erreichen? Sprich: etwas unterschiedliches bei unterschiedlichen "clicked" (=A1 oder A2...) auslösen?

  • Bei Deinem Code müssten alle hidden fields übertragen werden, da alle in einem Form-Tag sind.


    Allerdings sollte auch Dein Geklicktes Bild übertragen werden, hat ja auch einen Namen.


    Bau einfach mal folgendes ein und zeug uns die Ausgabe:


    [code=php]echo '<pre>';
    die(print_r($_POST));[/php]


    Knut

  • > ...wie kann ich denn hier verschiedene cases erreichen?



  • > ...wie kann ich denn hier verschiedene cases erreichen?



    Perfekt, vielen Dank - ich habs umgebaut und es funktioniert tadellos!
    Meine Frage wurde final beantwortet!