it $_POST die id eines submitbuttons auslesen
TheOneAndOnly
- php
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???
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
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!
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
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
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
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
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