Liebe(r) xHBBo,
ist mir neu. Also meinst du dieses so?
<form name="form1" method="post" action="">
<p>Eintrag 1 -
<input type="submit" name="loeschen" id="loeschen" value="Löschen">
</p>
<p>Eintrag 2 -
<input type="submit" name="loeschen" id="loeschen" value="Löschen">
</p>
<p>Eintrag 3 -
<input type="submit" name="loeschen" id="loeschen" value="Löschen">
</p>
</form>
eher so:
~~~html
<form action="" method="post" id="user-management">
<fieldset>
<legend>User bearbeiten</legend>
<ul>
<li>
<label for="user-login">User-Login</label>
<input id="user-login" name="user-login" type="text" value="xHBBo" />
<input name="user-id" type="hidden" value="4192" />
</li>
<li>
<label for="user-type">User-Typ</label>
<select id="user-type" name="user-type">
<option value="user">einfacher User</option>
<option value="mod">Moderator</option>
<option value="admin" selected="selected">Administrator</option>
</select>
</li>
<li>
<label for="user-pw">User-Passwort</label>
<input id="user-pw" name="user-pw" type="text" value="changeme" />
</li>
<li>
<label for="user-pw2">User-Passwort (2x)</label>
<input id="user-pw2" name="user-pw2" type="text" value="changme" />
</li>
</ul>
<p>
<input type="submit" name="delete-button" value="User entfernen" />
<input type="submit" name="update-button" value="Userdaten aktualisieren" />
</p>
</fieldset>
</form>
Wie Du sehen kannst, bietet dieses Formular zwei Buttons, die beide verschiedene Namen(!) haben. Diese name-Attributwerte werden im $_POST-Array als Schlüssel geführt werden. Allerdings taucht nur der Schlüssel in $_POST auf, dessen Button auch betätigt wurde. Folgende zwei Fälle an $_POST-Daten kannst Du mit dem vorliegenden Formular haben, wenn es exact so abgeschickt wird:
// wenn "User entfernen" betätigt wurde:
$_POST = array(
'delete-button' => 'User entfernen',
'user-login' => 'xHBBo',
'user-pw' => 'changeme',
'user-pw2' => 'changme',
'user-type' => 'admin',
);
// wenn "Userdaten aktualisieren" betätigt wurde:
$_POST = array(
'update-button' => 'Userdaten aktualisieren',
'user-login' => 'xHBBo',
'user-pw' => 'changeme',
'user-pw2' => 'changme',
'user-type' => 'admin',
);
Nun willst Du eigentlich zwei Dinge prüfen:
1.) Was ist zu tun?
2.) Sind die Daten OK?
Zu der ersten Frage gehst Du vielleicht so vor:
$task = '';
if (array_key_exists('delete-button', $_POST)) {
$task = 'delete';
}
if (array_key_exists('update-button', $_POST)) {
$task = 'update';
}
// password ok?
if (array_key_exists('user-pw', $_POST)
&& !empty($_POST['user-pw'])
&& array_key_exists('user-pw2', $_POST)
&& $_POST['user-pw'] === $_POST['user-pw2']
) {
// password ok
...
}
Du kannst natürlich völlig andere Wege gehen, um Deine Userdaten handzuhaben, aber als Anregung, wie man verschiedene Submitbuttons einsetzen kann, sollte obiges Beispiel genügen.
Liebe Grüße,
Felix Riesterer.
"Wäre die EU ein Staat, der die Aufnahme in die EU beantragen würde, müsste der Antrag zurückgewiesen werden - aus Mangel an demokratischer Substanz." (Martin Schulz, Präsident des EU-Parlamentes)