PHP \ MySql多用户系统后端结构

时间:2009-08-03 02:55:43

标签: php mysql oop login class

我正在使用PHP和MySql编写一个多用户登录系统,我过去的方式就是拥有一个中央“处理”文件来处理后端的所有代码,比如登录,消息传递其他用户等...,我使用隐藏字段的表单来定义要在处理文件中执行的操作。

这是一个简单的例子。

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 个答案:

答案 0 :(得分:1)

我想说转向OOP并考虑使用框架来处理应用程序路由并在功能上将用户界面,业务逻辑和数据层(MVC)分开。这将有效地使您的代码更加模块化和可重用。依靠隐藏字段来确定操作可能不是确定应用程序行为方式的最可靠或最有效的方法。

我建议的一些框架:

Zend Framework - 几乎有你想象的一切,但速度很慢。

EuropaPHP - 极其快速,轻便且易于使用,但没有额外的库。适用于Zend Framework。

CodeIgniter - 快速,轻量级,可扩展且具有良好的文档。

Prado - 非常成熟的基于组件的框架。不是很快,但很坚固。

可以在以下位置找到适用于PHP的MVC框架的大列表:http://en.wikipedia.org/wiki/Model–view–controller#PHP