<input type="image"> Wert übergeben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • <input type="image"> Wert übergeben

    Seit 5 Stunden sitze ich jetzt vergeblich daran. Vielleicht kann und mag mir ja jemand helfen.
    Folgendes Problem.
    Ich habe eine Schleife in der eine Textdatei ausgelesen und ausgegeben wird. Funktioniert und sieht so aus:
    PHP-Code:
    while(!feof($liste)){
    $zeile[] = utf8_decode(fgets($liste,1000));
    echo 
    $zeile[$counter];
    echo 
    "<input type='image' src=btn_loeschen.png' width='60' height='11' border='0' name='btn_loeschen[]'>";
    echo 
    "<input type='image' src=btn_bearbeiten.png' width='74' height='11' border='0' name='btn_bearbeiten[]'><br>";
    echo 
    "<input name='hiddenField_file' type='text' value='$zeile[$counter]'>";
    echo 
    "<input name='hiddenField_user' type='hidden' value=".$user." >";
    $counter++;

    So wird das Formular ausgewertet:
    PHP-Code:
    $user $HTTP_POST_VARS["hiddenField_user"];
    echo 
    $user//korrekt

    $file $HTTP_POST_VARS["hiddenField_file"];
    echo 
    $file// FALSCH

    $_REQUEST['btn_loeschen'];
    if(isset(
    $_REQUEST['btn_loeschen'])){
     echo 
    "Löschen wurde gedrückt"// Ausgabe korrekt
     
    }

    $_REQUEST['btn_bearbeiten'];
    if(isset(
    $_REQUEST['btn_bearbeiten'])){
     echo 
    "Bearbeiten wurde gedrückt"// Ausgabe korrekt 
    Wie man vielleicht erkennen kann möchte ich,
    daß je nach dem in welcher Zeile man auf die Buttons Löschen oder Bearbeiten drückt auch mitgeteilt,
    wird um welchen Eintrag es sich handelt.
    Bei Standard Buttons kann man das einfach mit value="wert"machen.
    Nicht aber bei input type<image> Schaltflächen.
    In der Variable $file ist so immer nur der letzte Eintrag der Liste gespeichert.
    Was ich ja auch noch einigermaßen nachvollziehen kann.

    Wie aber kann ich es nun bewerkstelligen, daß der Inhalt der Zeile mit übertragen wird? Schätze wiedermal irgendwie mit Arrays. Leider habe ich, obwohl mit mehr Glück als Verstand schon verwendet, noch nicht so richtig verstanden wie sie funktionieren.

    Hilfe wär toll.

  • #2
    Re: &lt;input type=&quot;image&quot;&gt; Wert übergeben

    Original geschrieben von Spelmann
    Hilfe wär toll.
    Hilfe kommt. Machst in der Schleife jede zeile ein separates form:
    echo "<form action= method=>"
    echo "<input deine vier Felder wie gehabt>"
    echo "</form>"

    Dann bekommst Du genau die vier Felder des geklickten Formulars zurück.

    Variante ist, die img-buttons und die anderen Felder in jeder Zeile anders zu benennen, mit der Zeilennummer im Namen,und dann abzuklappern, welcher button in $_POST ist.

    Viel Glück.

    Kommentar


    • #3
      PHP-Code:
      echo '<pre>';
      print_r($_POST);
      echo 
      '</pre>'
      hilf dir gern dabei, die gesuchten Daten zu finden.

      Kommentar


      • #4
        Danke beglets und asp2php

        Das mit dem dynamischen Formular habe ich schon probiert.
        Zwar funktioniert dann alles wie gewünscht, aber es sieht nicht gut aus.
        Die Zeilen werden dann durch die vielen <form> Tags im Browser sehr weit auseinander gerissen.

        Das Durchnummerieren dachte ich, habe ich doch schon mit dem Einfügen von $counter gemacht

        @asp2php
        Ob ich den Code richtig verstanden habe weiß ich nicht. Dient der zur Analyse was welchen Wert hat?

        Kommentar


        • #5
          Original geschrieben von Spelmann
          Das mit dem dynamischen Formular habe ich schon probiert.
          Zwar funktioniert dann alles wie gewünscht, aber es sieht nicht gut aus.
          Die Zeilen werden dann durch die vielen <form> Tags im Browser sehr weit auseinander gerissen.

          Das Durchnummerieren dachte ich, habe ich doch schon mit dem Einfügen von $counter gemacht
          Die Darstellung der <forms> kann mit style="display:inline" verbessert werden, bin aber kein css-profi siehe dafür www.selfhtml.net. Das Durchnumeriren anderseits bedeutet zB name='btn_loeschen$counter[]' oder name='btn_loeschen[$counter][]'

          Viel Glück.

          Kommentar


          • #6
            Vielen, vielen Dank beglets.
            Mit style="display:inline" siehts so aus wie ichs brauche und ich muß mich nicht weiter verrenken.

            Kommentar

            Lädt...
            X