TheOneAndOnly: it $_POST die id eines submitbuttons auslesen

Zervus ich mal wieder ... (NERV)

So folgendes ... ich müsste von einem

<input type="submit" name="action[]" id="<?php echo $id; ?>" value"Press">

irgendwie per $_POST auf die id zugreifen ... ist das irgendwie möglich???
Ich habe nämlich sagen wir mal 10 Buttons, alle mit dem gleichen name, daher als array und würde diese gerne anhand ihrer id's unterscheiden, is das möglich???

  1. Hi TheOneAndOnly!

    Ich habe nämlich sagen wir mal 10 Buttons, alle mit dem gleichen name, daher als array und würde diese gerne anhand ihrer id's unterscheiden, is das möglich???

    Vielleicht. Du kannst die ID ja als Schlüssel für das zu übertragende Array setzen:
    <input type="submit" name="action[[code lang=php]<?php echo $id; ?>]" id="<?php echo $id; ?>" value="Press">
    [/code]
    Bei der Verarbeitung hast du nun bequem Zugriff über $_POST['action'][$id].

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  2. Hi!

    Zervus ich mal wieder ... (NERV)

    Warum stellst du deine Folgefrage nicht in deinem bereits vorhandenen Thread?

    So folgendes ... ich müsste von einem
    <input type="submit" name="action[]" id="<?php echo $id; ?>" value"Press">
    irgendwie per $_POST auf die id zugreifen ... ist das irgendwie möglich???

    Alles was in $_POST enthalten ist, sieht du mit einer Kontrollausgabe: print_r($_POST) oder var_dump($_POST).

    Ich habe nämlich sagen wir mal 10 Buttons, alle mit dem gleichen name, daher als array und würde diese gerne anhand ihrer id's unterscheiden, is das möglich???

    Jein. Wenn du nochmal in deinen bereits vorhandenen Thread schaust, siehst du nicht nur in meiner Antwort eine Lösungsmöglichkeit für das Problem.

    Lo!

  3. Hello,

    Zervus ich mal wieder ... (NERV)

    So folgendes ... ich müsste von einem

    <input type="submit" name="action[]" id="<?php echo $id; ?>" value"Press">

    irgendwie per $_POST auf die id zugreifen ... ist das irgendwie möglich???
    Ich habe nämlich sagen wir mal 10 Buttons, alle mit dem gleichen name, daher als array und würde diese gerne anhand ihrer id's unterscheiden, is das möglich???

    Willst Du auf die ID aus der INPUT-Deklaration zugreifen? Das ist auf dem Server, also mit PHP, nit möglich, da DIESE ID lediglich für HTML. JavaScript und CSS erreichbar ist, also auf den Browser beschränkt bleibt.

    Du kannst aber selbstverständlich dem Name-Attribut einen indizierten Namen geben.

    Außerdem fehlt bei     value="Press"     das Gleichheitszeichen.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  4. Moin!

    <input type="submit" name="action[]" id="<?php echo $id; ?>" value"Press">

    Hm. Besser wäre:

    <?php  
    print "<form>";  
      
    for ($id=0; $id < 4; $id++) {  
    print "<input type='submit' name='action[$id]' id='$id' value='Löschen' /> ";  
    }  
    print "</form><pre>";  
      
    if (isset ($_GET)) {  
        print_r ($_GET);  
    }
    

    $_REQUEST sieht dann zum Beispiel so aus:

    Array  
    (  
        [action] => Array  
            (  
                [3] => Löschen  
            )  
    )
    

    Du kannst also mit

    foreach ($_REQUEST['action'] as $item) {  
       if ($_REQUEST['action'][$item]=='Löschen') {  
          LoescheMail($item);  
       } elseif ($_REQUEST['action'][$item]=='Anzeigen') {  
          ZeigeMail($item);  
       }  
    }
    

    weitermachen.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix

    1. Moin!

      Hier der Beispielcode komplett und getestet:

      <?php  
      print "<form>";  
        
      for ($id=0; $id < 4; $id++) {  
      	print "<input type='submit' name='action[$id]' id='$id' value='Lösche' />";  
      	print "<input type='submit' name='action[$id]' id='$id' value='Zeige' /><br />";  
      }  
      print "</form><pre>";  
        
      if (isset ($_GET)) {  
          print_r ($_GET);  
      }  
      print "</pre>";  
        
      foreach (array_keys($_REQUEST['action']) as $item) {  
         if ($_REQUEST['action'][$item]=='Lösche') {  
            #LoescheMail($item);  
            print "Lösche Item $item</br>";  
         } elseif ($_REQUEST['action'][$item]=='Zeige') {  
            #ZeigeMail($item);  
            print "Zeige Item $item</br>";  
         }  
      }
      

      MFFG (Mit freundlich- friedfertigem Grinsen)

      fastix

      1. Moin!

        <?php  
        print "<form>";  
          
        for ($id=0; $id < 4; $id++) {  
        	print "<input type='checkbox' name='item[]' value='$id' />";  
        	print "<input type='submit' name='action[$id]' value='Lösche' />";  
        	print "<input type='submit' name='action[$id]' value='Zeige' /><br />";  
        }  
        print "<input type='submit' name='Markierte_löschen' value='Markierte löschen'> ";  
        print "<input type='submit' name='Markierte_verschieben' value='Markierte verschieben'></form>";  
          
        if (isset($_REQUEST['action'])) {  
        	foreach (array_keys($_REQUEST['action']) as $item) {  
        		if ($_REQUEST['action'][$item]=='Lösche') {  
        			#LoescheMail($item);  
        			print "Lösche Item $item</br>";  
        		} elseif ($_REQUEST['action'][$item]=='Zeige') {  
        			#ZeigeMail($item);  
        			print "Zeige Item $item</br>";  
        		}  
        	}  
        }  
          
        if ( isset($_REQUEST['Markierte_löschen']) && isset($_REQUEST['item']) ) {  
        	print "Lösche: " . implode(', ', $_REQUEST['item']);  
        	  
        }  
        if ( isset($_REQUEST['Markierte_verschieben'])&& isset($_REQUEST['item']) ) {  
        	print "Verschiebe: " . implode(', ', $_REQUEST['item']);  
        }  
          
        print "Daten:<pre>";  
        if (isset ($_GET)) {  
            print_r ($_GET);  
        }  
        print "</pre>";  
          
          
          
          
        
        

        MFFG (Mit freundlich- friedfertigem Grinsen)

        fastix

        1. Hello,

          print "Daten:<pre>";
          if (isset ($_GET)) {
              print_r ($_GET);
          }
          print "</pre>";

          $_GET und $_POST sollten immer vorhanden sein, wenn Dein PHP nicht beschädigt ist.
          Sie sind ggf. nur leer. Das Anzeigen mit print_r() sollte aber daher immer möglich sein :-)

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          --
           ☻_
          /▌
          / \ Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de