Mahlzeit Steffen,
vielen Dank für Deinen Rat.
... den Du allerdings nicht wirklich befolgst. Mal schauen, wann der erste SQL-Injection-Versuch bei Dir stattfindet.
Die Schleife
if (isset($_POST['loeschen']) && $_POST['loeschen'] > 0)
{
$zuloeschen = $_POST['loeschen'];
$sql = "DELETE FROM benutzer WHERE id = '$zuloeschen' LIMIT 1;";
}if (!($benutzerliste = mysql_db_query($datenbankname,$sql)))
{
$meldung .= 'Konnte Datenbankkommando zum Löschen eines Benutzers nicht absetzen! ';
$fehler = 1;
}
> wird jedesmal angesteuert, wenn die Seite neu geladen wird, sobald man einmal auf Löschen geklickt hat und die ID 'loschen' per GET übergeben wird.
1\. ist das keine [Schleife](http://de.wikipedia.org/wiki/Schleife_(Programmierung)). Es gibt keine [if-Schleifen](http://www.if-schleife.de/)!
2\. Warum trifft die Bedingung immer zu? Hast Du das mal untersucht? Anscheinend wird doch das Skript erneut mit den gleichen GET-Parametern aufgerufen. Wieso wird es das? Wie sieht der Link im aufrufenden Skript aus? Wieso enthält er GET-Parameter?
> PS: Selbes Prinzip funktioniert übrigens hervorragend, wenn ich statt $\_GET['loeschen'] nur $loeschen abfrage. Der Server ist alt und daher geht das wohl noch, gleichwohl weiss ich, dass man so nicht mehr programmieren sollte, allerdings bringt diese Umstellung die bisherige Vorgehensweise offenbar erheblich durcheinander.
Zeig mal mehr Code und - viel wichtiger! - beschreibe, wie der Programmablauf/Workflow sein soll ... bisher habe ich immer noch nicht so recht verstanden, was Dein Skript eigentlich macht bzw. machen soll.
MfG,
EKKi
--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|