0

我被要求建立一个网站,公司的员工(大约 20 人)可以登录并填写他们当前和过去(如果需要)一个月的工作时间表。员工当然应该只能看到自己的日程安排,但经理应该有权访问每个日程安排。我在网络开发方面经验很少,因此需要一个建议。我已经创建了一个 PHP/MySql 登录页面。怎么办?我该怎么做?非常感谢您提供一些架构或实施(如果您愿意的话)指导。

4

3 回答 3

0

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

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

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

我认为这可以让你继续前进

于 2012-10-12T15:31:47.600 回答
0

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

您将需要设计您的数据库以满足您的实际限制。使用 MySQL,您可以创建一个反映用户及其职位的关系数据库。我们首先创建了一个ER 图,以帮助我们公司的高管可视化约束以及我们如何通过数据库对我们的业务进行建模,以便他们可以在设计阶段参与讨论。

于 2012-10-12T15:35:38.717 回答
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

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

于 2012-10-12T15:44:01.920 回答