2009-08-03 7 views
4

Ich schreibe ein System mit mehreren Benutzern mit PHP und MySql, wie ich es in der Vergangenheit getan habe, ist eine zentrale "Verarbeitungs" -Datei, die den gesamten Code behandelt auf dem Backend, wie das Anmelden, Messaging anderer Benutzer etc ..., habe ich Formulare mit versteckten Feldern verwendet, um zu definieren, welche Aktion in der Verarbeitungsdatei ausgeführt werden soll.PHP MySql Multiuser System Backend Struktur

ist ein schnelles Beispiel.

the login form: 
<form method="post" action="process.php"> 
Username:<input type="text" name="username" /><br /> 
Password:<input type="password" name="password" /><br /> 
<input type="hidden" name="action" value="login" /> 
<input type="submit" value="Login" /> 
</form> 

die Verarbeitungsdatei:

<? 
$action = strtolower($_REQUEST['action']); 
switch ($action) { 
case "login": 
* get the username and password from the form 
* query against the SQL database 
* set appropriate session data if login was ok 
* redirect to homepage for logged in users with a header("Location: home.php"); 
} 
?> 

ist dies der beste Weg, dies zu umgehen? oder sollte ich sagen, Klassen und separate Dateien verwenden, einschließlich dieser in das Login-Formular. und dann zurück zum Login-Formular und überprüfen Sie die Daten dort?

Dank für das Lesen, cyrix

Antwort

1

ich Umzug nach OOP sagen würde, und schauen Sie in einen Rahmen mit Ihrer Anwendung Routing zu handhaben und funktionell Ihre Benutzer-Schnittstelle, Geschäftslogik und Datenschicht (MVC) zu trennen. Dadurch wird Ihr Code wesentlich modularer und wiederverwendbarer. Sich auf ein verstecktes Feld zu verlassen, um die Aktion zu bestimmen, ist wahrscheinlich nicht die zuverlässigste oder effektivste Methode, um zu bestimmen, wie sich Ihre Anwendung verhalten soll.

Einige Rahmen würde ich empfehlen:

Zend Framework - hat fast alles, was man sich vorstellen kann, aber langsam.

EuropaPHP - Extrem schnell, leicht und einfach zu bedienen, aber keine zusätzlichen Bibliotheken. Funktioniert mit dem Zend Framework.

CodeIgniter - Schnell, leicht und erweiterbar mit guter Dokumentation.

Prado - Sehr ausgereiftes komponentenbasiertes Framework. Nicht sehr schnell, aber solide. Eine große Liste von MVC-Frameworks für PHP finden Sie unter: http://en.wikipedia.org/wiki/Model–view–controller#PHP.

+0

ilk check out diese Frameworks, danke für Ihre Hilfe man – cyrix

+0

Nur als Randnotiz, schrieb ich das EuropaPHP-Framework. – Tres

+0

Nicht versuchen, darauf voreingenommen zu sein;) Es gibt viele gute Frameworks da draußen. Froh, dass ich helfen konnte. – Tres