Hallo,
du überprüfst mittels JavaScript die Benutzereingaben. Der Ansatz ist ja nicht völlig verkehrt aber sinnlos, denn du setzt eine gesicherte Umgebung vorraus. Woher weißt du, dass der Browser oder was auch immer die Seiten verarbeitet JavaScript kann und die Ausführung dann auch noch zuläßt? Warum vertraust du den Daten, die deinen Server erreichen? JavaScript ist ein Hilfsmittel, nicht mehr aber auch nicht weniger. Du kommst nicht drumrum, die Daten serverseitig zu überprüfen!
Beispiel 1:
Zwei Benutzer rufen die Seite auf. Du hast sämtliche Benutzernamen an den Client geschickt, um dort zu überprüfen, dass die Eingabe nicht kollidiert. Die zwei Benutzer geben als neuen Namen "Hans" ein und senden das Formular an deinen Server. Was passiert?
Beispiel 2:
Ein Benutzer ruft deine Seite auf. Er hat JavaScript deaktiviert und gibt als Benutzernamen "Hans" ein. Diesen Namen gibt es aber schon, kann aber nicht via JavaScript überprüft werden. Er schickt die Daten an deinen Server. Was passiert?
Beispiel 3:
Ein Benutzer ruft deine Seite auf. Er schaut in den Quelltext und bekommt feuchte Augen. So viele Benutzernamen. Er holt sich Knabberzeug und fängt an rumzuprobieren. Was passiert?
Beispiel 4:
Ein Benutzer ruft deine Seite auf. Er gibt als Benutzernamen <sql-injection-statement-ausgeblendet> ein und schickt die Daten an deinen Server, wo ja keine Überprüfung implementiert ist, nichtmal ansatzweise, da die Eingaben ja schon clientseitig via JavaScript überprüft werden. Was passiert?
Soll ich weitermachen? Das war nur der Anfang. Du wirst erkennen, dass du um eine serverseitige Überprüfung der Daten nicht drumrum kommst. Dein Argument mit den vielen PHP-MySQL Statements lasse ich nicht gelten.
Beispiel - Überprüfung, ob der Benutzername schon vorhanden ist
1. Den erhaltenen Benutzernamen auf SQL-Injections und Gültigkeit prüfen
2. Ein SQL-Statement absetzen, welches dir schon im Ergebnis verrät, ob der Benutzername schon existiert oder nicht ("SELECT COUNT(*) AS anzahl FROM table_x WHERE username='$username'").
Ich kenne mich mit PHP nicht aus, daher kann ich dir hier nicht weiterhelfen. Frage dazu das Forum, hier treiben sich mitunter geschickte Leute rum. Jedenfalls möchte ich dir noch einen Rat mit auf den Weg geben. Auch bei einer serverseitigen Überprüfung via PHP musst du aufpassen, _auch_ wenn du die Eigenheiten von PHP kennst, und vor allem wenn du sie nicht kennst.
bernd