2009-08-03 10 views
4

PHPとMySqlを使用して複数のユーザログを作成していますが、これまでのやり方ではすべてのコードを処理する中央処理ファイルがありますバックエンドでログイン、他のユーザーにメッセージを送信するなど...、私は隠しフィールドを持つフォームを使用して、処理ファイル内で実行するアクションを定義しました。PHP MySqlマルチユーザシステムバックエンド構造

heres簡単な例です。

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> 

処理ファイル:

<? 
$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"); 
} 
?> 

が、これはこれを処理するための最良の方法ですか?私はクラスを使い、これらを含むファイルをログインフォームに入れるべきだと言わなければなりません。ログインフォームにポストバックしてそこのデータをチェックしますか?読書のための

おかげで、Cyrix社

答えて

1

私はOOPへの移行を言うと、あなたのアプリケーションのルーティングを処理し、機能的に、ユーザー・インタフェース、ビジネスロジックとデータ層(MVC)を分離するためのフレームワークを使用してになります。これにより、コードを効果的にモジュール化して再利用できるようになります。アクションを決定するために隠れたフィールドに依存することは、アプリケーションがどのような振る舞いをするべきかを決定するための最も信頼できる方法ではないでしょう。私が推薦する

いくつかのフレームワーク:

Zend Frameworkは - ほとんどあなたがおそらく想像できるすべてのものが、スローを持っています。

EuropaPHP - 非常に高速で軽量で使いやすいですが、余分なライブラリはありません。 Zend Frameworkで動作します。

CodeIgniter - 高速で軽量で拡張性があり、文書化が容易です。

Prado - 非常に成熟したコンポーネントベースのフレームワークです。それほど高速ではありませんが、固体です。

PHPのMVCフレームワークの大きなリストは、http://en.wikipedia.org/wiki/Model–view–controller#PHPにあります。

+0

あなたの助けを借りている人のために、これらのフレームワークをチェックアウト – cyrix

+0

私はEuropaPHPフレームワークを書いたばかりです。 – Tres

+0

それに向かって偏らないようにしようとしています;)そこには多くの良いフレームワークがあります。お役に立てて嬉しいです。 – Tres