Tom: Verzeichnis und Dateien werden nicht erstellt

Beitrag lesen

Hello,

Und da liegt ja eben mein hauptsächliches Problem.
Normalerweise (also so hab ich das in Erinnerung), werden die Dateien sowie Verzeichnise bei Mode "w" erstellt und dann wird in diese geschrieben.

Das gilt nur für Linux und 'mkdir -p pfad/zur/datei'. PHP hat dies in mkdir übernommen mittels des 'recursive'-Flags. Das hast Du aber gar nicht gesetzt, da Du ja mkdir gar nicht benutzt :-)

Der gesamte Aufbau ist außerdem äußerst gefährlich für Deinen Server. Die User könnten so fast überall auf dem System (wo PHP Zugriff hat) herumschreiben, wenn der Provider geschlafen hat, auch in den Datenbereichen anderer User / Domains.

Du solltest immer erst

  • Daten übernehmen
      dazu müssen die Post-Parameter nicht umkopiert werden, sondern besser gefprüft werden
      ob alle erwarteten Parameter gesendet wurden, ob keine unerwarteten gesendet wurden,
      ob die erwarteten im erlaubten Wertebereich liegen

  • gesendete Daten auswerten und die passenden Entscheidungen daraus ableiten

  • die entschiedenen Aktionen durchführen, berechnete Daten wegschreiben, usw.

  • aus den entstandenen Daten die Antwort berechnen
      und ganz zum Schluss die Antwort senden

Versuch mal, das Script zu sortieren.
Das if/else gehört auf jeden Fall _vor_ die Aktionen

Außerdem solltest Du Benutzerdaten nicht innerhalb der Dokument Root speichern.
Du könntest den Nutzernamen, seine eMail und sein Passwort auch zusammen mit denen der anderen User in einer einzigen Datei speichern. Bei wenigen Usern (bis 500MB Dateigröße) bietet sich für diese Datei dann ein serialisiertes Array ("Spaltenarray") an. Darin solltest Du ca. 5.000 Userdatensätze unterbringen können.

Lies Dir dann als nächstes bitte die zwei Artikel durch
http://aktuell.de.selfhtml.org/artikel/programmiertechnik/dateisperren/
http://wiki.selfhtml.org/wiki/Artikel:Kontextwechsel

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de