Wie man value eines input type=”image” an php weitergibt
Ein Bild als Schaltfläche ist doch was schönes. Aber leider klappt die Übergabe eines Wertes mittels “value” nicht so einfach beim Internet Exporer. Aber das braucht man öfter mal wenn man z.B. eine id mitsenden will.
Lösung
Üblich wäre also
<input type="image" name="id" src="edit.png" value="108" />
Aber da einige Browser das value nicht übermitteln kann man einen Umweg über ein array gehen.
<input type="image" name="id[108][]" src="edit.png" />
nun kann man über key($_POST['id']) darauf zugreifen.
Beispiel:
<form action="" method="post"> <input type="image" name="id[1][]" src="edit.png" /> <input type="image" name="id[2][]" src="edit.png" /> <input type="image" name="id[3][]" src="edit.png" /> <input type="image" name="id[4][]" src="edit.png" /> <input type="image" name="id[5][]" src="edit.png" /> </form> <pre> <?php var_export($_POST); echo "<hr /><p>" . key($_POST['id']) . "</p>"; ?> </pre>
Wie man hier schön sieht werden auch die Koordinaten sauber übertragen und man kann auf diese zugreifen.
Beispiel mit sql Abfrage
Da man das wohl hauptsächlich mit Datenbanken braucht hier ein beispiel:
<?php
$abfrage= mysql_query("SELECT * FROM tabelle");
while($row = mysql_fetch_object($abfrage))
{
echo "<input type='image' src='drop.png' alt='Knopf' name='id[" . $row->id . "][]' /><br />";
}
if (isset($_POST['id']))
{
$id = key($_POST['id']);
echo "Der Knopf Nummer: " . $id ." wurde gedrückt";
}
?>

