Skip to content

Instantly share code, notes, and snippets.

@halfcoder
Last active March 14, 2016 07:10
Show Gist options
  • Save halfcoder/7043057 to your computer and use it in GitHub Desktop.
Save halfcoder/7043057 to your computer and use it in GitHub Desktop.
PHP调查系统0.01版设计方案0.01版

PHP调查系统0.01版设计方案0.01版

本来我是准备把设计的工作也交给你完成的,但是发现不大现实,毕竟你编程的时间不长,对于一些架构方面的东西不大了解。虽然我在这方面也只是半吊子而已,但好歹也做过一些设计层面的东西,姑且在此提出一个设计方案。如果你有任何意见或者建议,可以随时联系我。

基础架构

可能你会看到我们 某个技术团队 所写的PHP项目中,多用了CodeIgniter框架。这个其实主要是因为我一开始跟关道他们介绍PHP开发的时候说的是这个框架。 但是,在这个项目中,我不准备使用框架,而是使用原生PHP。 可能这样会使得开发过程中需要自行注意许多方面的问题,而这些问题本来已经在框架中得到一定的解决了。但是我认为,这样能够更好地使你深入PHP开发,而不只是会用框架而已。等到你的代码写到一定程度,你可以与现有的框架做对比,由此发现使用框架的利弊。甚至你也可以对自己的代码进行一定的抽象,做一个自己的框架。

  • 数据库读写使用原生PDO实现,手动编写SQL语句,使用prepare()函数避免SQL注入
  • PHP代码与HTML代码在一定程度上混写在一个文件中。 不喜欢?自己想想怎么分离吧!

站点系统

整个站点分为三个系统:用户系统、调查问卷管理系统、调查问卷运行系统。

### 用户系统 用户系统暂时只需要提供注册、登录、注销和个人信息页面即可。

  • 注册只需要输入电子邮箱和两次密码即可。
  • 登录只需要输入电子邮箱和密码即可。
  • 注销只需要清除Session即可。
  • 个人信息页面只需要提供修改密码的功能即可。

调查问卷管理系统

调查问卷管理系统又分为两个部分:设计部分和管理部分。

设计部分

设计部分只提供问卷内容设计、问卷设置和分享页面即可。

  • 问卷内容设计暂时只需要提供填空题(对应于html中的input[type=text]和textarea)的设计即可。问题:如何提供input[type=text]和textarea形式的选择?
  • 问卷设置只需要设置问卷密码即可。
  • 分享页面只需要直接输出问卷地址即可,形如http://网站网址/survey.php?id=调查问卷id

管理部分

管理部分只需要提供问卷创建、编辑、删除、显示已收集数据页面即可。

  • 问卷创建、编辑页面均由设计部分提供。只需跳转即可。
  • 问卷删除……这个不用多说吧。
  • 显示已收集数据页面只需要直接将已收集到的数据以表格形式输出即可。

调查问卷运行系统

这个很简单,只需要输出问卷并收集数据,必要时验证密码即可。

站点文件结构

综上所述,整个站点的文件结构为:

/
|- builder/
   |- sandbox.php -- 问卷内容设计
   |- setting.php -- 问卷设置
   |- share.php -- 分享
|- surveys/
   |- delete.php -- 删除
   |- index.php -- 问卷列表
   |- report.php -- 已收集数据显示
|- user/
   |- login.php -- 登录
   |- logout.php -- 注销
   |- profile.php -- 个人信息
   |- register.php -- 注册
|- conn.php -- 数据库连接
|- index.php -- 首页
|- survey.php -- 调查问卷显示
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment