小型Web应用程序的体系结构/实现所需的建议

时间:2012-10-12 15:25:56

标签: php mysql web-applications

我被要求建立一个网站,公司的员工(大约20人)可以登录并填写他们的工作时间表,用于现在和过去(如果需要)月份。员工应该只能看到自己的时间表,但经理应该有权访问每个时间表。 我在Web开发方面经验不足,因此需要一些建议。我已经创建了一个PHP / MySql登录页面。怎么办?我该怎么办呢? 只是一些建筑或实施(如果你愿意)的指导将非常感激。

3 个答案:

答案 0 :(得分:0)

我建议选择像cakephp或symfony这样的框架,这样可以避免一些错误。如果你想自己创建

首先确定满足您需求的数据库架构。

尝试将每个表的crud功能作为php对象。

我认为这可以让你开始

答案 1 :(得分:0)

我积极参与公司内部仪表板的设计,员工可以登录并查看相关的公司指标。我们使用CodeIgniter作为我们的框架,并且非常好!它是一个使用MySQL的PHP​​框架,我们已经在我们的服务器上安装了PHP和MySQL。我们公司已经有一些人有这方面的经验,因为它已经存在了几年,并且比最新和最好的时尚框架更为成熟。由于MVC的开发方法,它工作得很漂亮。我们已使用Grocery CRUD将其附加到我们自制的数据库中。它具有处理用户身份验证,会话和安全性的插件。我们一直非常富有成效,我强烈推荐。请记住,此框架专为希望创建可自定义的开发人员而设计。话虽如此,它提供了您需要的基本功能,但让您自己处理更高级别的内容。

您需要设计数据库以满足您的实际约束。 使用MySQL,您可以创建一个反映用户及其位置的关系数据库。我们首先创建了一个E-R Diagram,以帮助我们公司的高管可视化约束以及我们如何通过数据库建立业务模型,以便他们在设计阶段参与讨论。

答案 2 :(得分:0)

我已经在PHP / Mysql中构建了与此类似的应用程序,并且可以说它是一个很好的平台,尽管像Rails这样的东西可能更快使用并且需要更少的微管理。正如Wisdom所说,使用一个框架来削减一些繁重的工作,并确保你坚持良好的安全实践。

你会想到一些你需要的东西。

  • 清楚了解数据库结构的外观。尝试识别:a)您需要存储的所有信息(用户名?登录信息?“权限”级别,以查看其他人的条目?),b)他们可以进入哪些表。(可以“命名” “和”工作时间“在同一个表中?如果它们是不同的分析级别,它们应该进入不同的表吗?这两个信息是否以某种方式连接?如果是这样,我应该如何表示该连接?)关系设计是你的朋友,特别是如果你正在建造一些可能会在以后修改的东西。花点时间了解它是什么。
  • 每个不同“类型”活动的页面(视图)都是一个好的起点。所以有一个“让我查看我的日程安排”页面,其中包含指向“让我添加时间条目”页面和“让我编辑该时间条目”页面的链接。我的经验是,努力使您的“查看”页面的代码尽可能小,易于阅读,促使您更好地规划代码结构。
  • 您应该清理插入查询字符串的任何值。因此,搜索或选择值的查询应始终通过“清理”结构过滤任何PHP变量:

    $ query = sprintf(“SELECT * FROM table1 WHERE identifier =%s”,     mysql_real_escape_string($ ID));

    而不是:

    $ query =“SELECT * FROM table1 WHERE identifier =”。$ id

    因为用户在线搜索或插入字段的任何文本(如果它在查询中结束)都可以作为查询的一部分执行。然后,黑客可以使用它来使您的其他安全功能无用。