Hallo zusammen,
nun, zum Thema Sicherheit: Ist mir bewusst, dass jede Variable untersucht werden sollte. Hier aber nicht. Das Skript läuft in einem geschützten Bereich und ist von aussen nicht zugänglich. Sollte es zugänglich sein, dann ist dieses Skript das kleinste Problem.
- 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?
Das ist genau die Frage. Der GET Parameter wird nur einmal gesetzt, wenn ich das erste Mal auf den Button klicke. (siehe Code). Lade ich die Seite neu, sollte er weg sein und das ist er nicht.
Der Workflow:
Ich habe eine Auflistung mit verschiedenen Benutzern auf einer Seite. Auf der Seite soll man Benutzer neu anlegen können, alte Benutzer löschen und bestehende Benutzer bearbeiten können. Alle Verarbeitungen und Ausgaben finden auf der selben Seite statt, die Formulare rufen also jedesmal die gleiche Seite auf. In etwa sieht die ganze php Seite so aus:
-------
hier ist ein toller php teil, der dafür verantwortlich ist, dass neue benutzer in die datenbank eingetragen werden, wenn die variablen $benutzername und $passwort übergeben werden
-------
hier ist ein toller php teil, der bestehende benutzer löscht, wenn die variable $loeschen mit der betreffenden id gesetzt ist
-------
hier ist ein toller php teil, der benutzer bearbeitet, wenn die variable $bearbeiten eine id enthält
-------
-------
hier werden jetzt alle benutzer angezeigt. zu jedem benutzer gibt es einen button, der die variable löschen oder bearbeiten an die gleiche seite sendet.
Ein Element der Auflistung sieht so aus:
<div class="downloadliste" style="margin-left: 20px;">
<p>Name: sd dfs<br />
Benutzername: dsafadfs<br />
Passwort: dsaf<br />
Rechte: Praktikanten, Forum
</p>
<input type="button" name="loeschen" value="löschen" onclick="self.location.href='benutzerverwaltung.php?loeschen=10'" />
Die 10 ganz am Ende ist die ID des betreffenden Elements, die brauche ich ja, um Datenbankoperationen durchzuführen. Mehr passiert eigentlich garnicht.
Viele Grüße,
Steffen