Lieber marctrix,
Den folgenden Abschnitt verstehe ich nciht und da ich nciht programmiere, will ich den nicht selber bearbeiten. Der UNterschied der Buttons besteht doch nciht im namen, sondern im value - hat sich da ein Fehler eingeschlichen?
Manchmal möchte man einem Benutzer zweierlei Aktionen anbieten und verwendet dafür zwei verschiedene Buttons. Will man dem Server sagen, ob man z.B. den "löschen"- oder stattdessen den "bearbeiten"-Button benutzt hat, kann man einem Button ebenso einen Namen geben, welcher dann bei Betätigung als Schlüssel an den Server übertragen wird.
der Server empfängt prinzipiell Schlüssel-Wert-Paare. Ich kann meine Programmlogik so erstellen, dass sie das bloße Vorhandensein eines Schlüssels erwartet. Dann würde ein unterschiedlicher Name bei den Buttons genügen. Möchte ich (vielleicht aus programmiererischer Bequemlichkeit) in meiner Logik eine Variable task
nutzen, die ich bei Vorhandensein eines passend übertragenen Schlüssels mit dessen Wert versehe, dann hat es einen Sinn, ähnlich wie bei Radio-Buttons, einen identischen name
-Wert zu verwenden, um dann unterschiedliche value
-Werte zur Unterscheidung einzusetzen.
Verstehst Du folgendes PHP-Beispiel?
$task = 'overview'; // default
// <button name="delete-button"> benutzt?
if (array_key_exists('delete-button', $_POST)) {
$task = 'delete';
}
// <button name="edit-button"> benutzt?
if (array_key_exists('edit-button', $_POST)) {
$task = 'edit';
}
// <button name="task" value="irgendwas"> benutzt?
// (oder <input name="task" value="irgendwas"> vorhanden?)
if (array_key_exists('task', $_POST)) {
$task = $_POST['task'];
}
// basierend auf $task etwas tun
switch ($task) {
case 'delete':
delete_something();
break;
case 'edit':
edit_something();
break;
case 'overview':
show_overview();
break;
}
Liebe Grüße,
Felix Riesterer.