📄 kj10-04.txt
字号:
10.4.1 在线问卷调查系统简介
在线问卷调查与在线投票系统类似。不过,因为所调查的问题有多个,因此代码略显复杂。下面是一个供用户对某讲义中的若干章进行评价的例子。如果不考虑代码可重用性的话,实现起来并不很麻烦,但如果需要改变调查内容和评语时,就必须改写源码。本例所实现的系统,可随意更改调查内容和数量以及评语内容。
10.4.2 选择、提交评价模块
本模块的主要功能是获取用户的评价,然后根据防“灌水”规则,确定用户提交的评价是否有效,如果有效,则改写数据库中的有关数据项,否则,提示用户不能再填表。
与上节系统所实现的系统不同的是,本例是通过在Session变量中记录用户的填表情况以防止“灌水”的。即定义一Session变量,用于记录用户的填表情况。如果用户所提交的数据被写入数据库,则将该变量置为一特殊标记,当用户启动提交过程后,程序将首先根据这个变
量的值判断用户是否还有填表的权利,然后根据判断结果转入相应的处理。
需要指出的是,这种防“灌水”的机制是十分脆弱的,因为用户在提交数据后,完全可以再打开第二个浏览器提交数据。
10.4.3 调查结果统计、显示模块
本模块的主要功能是从数据库中获取各候选项的得票情况,然后输出统计表和直方图。
因为在显示统计结果时,需要用到一些未直接存储在数据库中的信息(如各选项的得票率),因此,将存储候选项的得票情况的表装入内存,然后在内存数据表中新增两个字段,一个是“得票率”,另一个是“直方图”。在直方图字段中,存储能够显示正确的横条图的HTML标记(横条图通过按得票率对图片Prac10-04.jpg进行横向缩放得到的)。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -