Ganz kurz und buendig:
SQL-Injection. In 5 deiner 4 Datenbank-Funktionen. Das ist das kritische.
Dazu kommt: die Anwendung ist ohne technische Ueberlegung aufgebaut. Nach ein paar zusaetzlichen Features hast du 200 PHP-Dateien, wovon 10 functions_* heissen und mindestens 30 Funktionen enthalten. Wie willst du da noch den Ueberblick behalten?
Weitere Punkte: Templating-System ist nicht nur nicht vorhanden, sondern auch sehr ungeschickt geloest (wenn du die
HTML-Ausgabe im PHP-Code zusammenstellst kannst du dort auch die PHP-Tags schliessen und den
HTML-Code direkt hinschreiben. Datenbanktechnisch bist du voll auf SQLite fixiert. Die Verwendung eines Abstraction Layer (
PDO) laesst dich da unabhaengiger sein und verringert das Risiko solcher brachialer Sicherheitsluecken (Prepared Statements).
Wenn du ernsthafte PHP-Anwendungen entwickeln willst, vergiss den Ansatz den du getroffen hast. Mach dich uebers MVC-Konzept schlau, informier dich ueber diverse MVC-Frameworks und guck mal was die fuer dich machen koennen. Mein Favorit ist immer noch
Symfony 1.4 mit Doctrine. Da wird das Ganze schon etwas interessanter: Datenbank-Abstraktion, klare Trennung von Logik und View, Logik in Models gekapselt, ein Test-Framework fuer Unittests, usw.
Nimms mir nicht uebel, aber ich wuerde dir dringends raten, den Download aus dem ersten Beitrag erstmal wegzunehmen und nochmal ueber die Applikation nachdenken.
Greetz
alcaeus
Andreas B.