前段时间网站开发结束,需要收集下用户的反馈信息。在网上找到了LimeSurvey开源系统。整体来说用过以后,感觉很不错。下面就给大家简单介绍下这个系统,以及自己在开发中遇到的问题。

简单介绍:

LimeSurvey是一款在线问卷管理系统,具有问卷的设计、修改、发布、回收和统计等多项功能。同时它也是一个开源软件

,其最新版本的软件包可以完全免费获取和使用。它集成了调查程序开发、调查问卷的发布以及数据收集等功能,使用它,用

户不必了解这些功能的编程细节。 网上收集的调查数据可以导出多种文件格式以便分析,例如 spss数据格式 *.dat文件。

LimeSurvey是一个基于WEB的投票系统,它支持MySQL/PostgreSQL/SQL Server。

资源的获取

下载地址:http://down.51cto.com/data/561151

http://down.51cto.com/data/827001

将下载后的文件放入到php服务器中,然后访问 localhost/limesurvey/admin/install,进入安装向导页。

系统的使用:

系统的使用较为简单,多点点就都知道了。

使用中遇到的问题:

一、统计数据中统计图中文乱码

在确定字符集都设置成utf-8的情况仍然存在该问题,后来发现limesurvey的图表生成使用的是JpGraph。

然后网上搜索资料后,发现下面这个方法可以解决这个问题。

首先问题出在字体文件。先将电脑系统C:\WINDOWS\Fonts  下的 楷体  SIMKAI.TTF 字体文件,拷贝到

limesurvey\fonts 文件夹下,删除原来的DejaVuSans.ttf ,然后将 SIMKAI.TTF文件改名成DejaVuSans.ttf 。

然后删除limesurvey\tmp下之前生成的对应的乱码统计图片。这样就大功告成了。

二、二次开发

网站系统和LimeSurvey系统需要进行关联,我要解决的是从网站跳转到LimeSurvey系统后,要将用户信息

存储到LimeSurvey系统的session中。然后提交调查问卷后,在LimeSurvey中执行一些数据库操作,然后

再跳转回网站系统。

解决将用户信息存储到LimeSurvey系统的session中,是在limesurvey\application\controllers\survey\index.php

文件的第28行开始,加入下面17--20行代码,sd是传递的参数。

class index extends CAction {public function run(){$this->action();}function action(){global $surveyid;global $thissurvey, $thisstep;global $clienttoken, $tokensexist, $token;global $clang;if (isset($_GET['sd'])){$_SESSION['sd'] = $_GET['sd'];}

解决提交调查问卷后,在LimeSurvey中执行一些数据库操作这个问题,在

limesurvey\application\helpers\SurveyRuntimeHelper.php文件的 505行开始修改如下(8---12行代码),

其中$thissurvey['surveyls_url']存的是调查问卷结束后跳转的url;$saved_id存储的是生成的调查问卷记录

; header("Location:".$tmp) 执行的是重定向。

$_SESSION[$LEMsessid]['finished'] = true;
$_SESSION[$LEMsessid]['sid'] = $surveyid;
sendCacheHeaders();if (isset($thissurvey['autoredirect']) && $thissurvey['autoredirect'] == "Y" && $thissurvey['surveyls_url']){//Automatically redirect the page to the "url" setting for the survey、//$tmp1 = $saved_id;$tmp1 = $_SESSION["sd"];$tmp = $thissurvey['surveyls_url'].'?st='.$saved_id.'?surveyid'.$surveyid;//insert into lime_relative$query = "INSERT INTO lime_relative_".$surveyid." values ('$saved_id', '$tmp1')";dbExecuteAssoc($query) or show_error("Unable to execute this query : $query<br />");    header("Location:".$tmp);}
doHeader();

解决再跳转回网站系统问题,用到的是LimeSurvey系统自己的功能。将调查问卷的常规设定中的外观和导航

项里的【调查问卷结束后自动加载url?】选为是。然后在调查问卷的【编辑文本元素】项的【结束url】中写入跳转的请求。

LimeSurvey的使用和简单的二次开发相关推荐

  1. 金蝶实习(十一)——简单的二次开发

    一转眼又星期五了,这周最后一天的实习也不能放松,昨晚对自己这么暗示来着,今早一觉睡到7点半还是室友的手机闹铃把我叫醒的.于是火急火燎地洗脸刷牙,头发也没洗早饭也没吃(准确说是没在教育超市喝粥,不过在站 ...

  2. weui移动商城源码.zip_商城网站建设二次开发需要多久?难度大吗?

    很多人在早期建设了当时较为流行的商城网站进行使用,但随着市场的变化以及消费者年龄层的变化,以往的商城形式已经不能帮助商家获得新用户了,这时就需要商家将网站进行二次开发或是重新建设网站.那今天就来看看, ...

  3. python二次开发攻略-ABAQUS Python二次开发攻略

    第一部分 引言 第1章 Abaqus二次开发简介 12 1.1 为什么是Python 12 1.2 Python.FORTRAN与Abaqus 13 1.3 基于Python二次开发 14 第2章 P ...

  4. android ai机器人demo,Dobot二次开发Demo

    总览 开发者可以使用Dobot进行二次开发,实现各种不同的功能.本文教大家使用Arduino MEGA2560对Dobot进行简单的二次开发. 二次开发时需要将MEGA2560控制板通过蓝牙模块的接口 ...

  5. Salome平台介绍及二次开发案例

    基于国产的"神威·太湖之光",国家超级计算无锡中心发布了"无锡超算云平台",将打造世界一流的超算技术与产业发展深度融合的高性能计算应用生态圈.现已升级为&quo ...

  6. autocad2007二维图画法_cad怎样绘制简单的二维图形

    CAD绘制二维图形非常的简单,大家经常用它来画图,下面是学习啦小编带来关于cad怎样绘制简单的二维图形的内容,希望可以让大家有所收获! cad绘制简单二维图形的方法 1.绘图菜单绘图菜单是绘制图形最基 ...

  7. 基于EasyNVR摄像机网页无插件直播服务二次开发实现H5播放页面的简单集成方案...

    我们通常在构架一套视频SaaS应用的过程中,将平台设计为3层:视频硬件层(视频源).视频能力平台(vPaaS).视频应用平台(vSaaS),视频硬件包括各种IPC.NVR.编码器等视频生成设备,vPa ...

  8. java ug二次开发_使用Java进行UG二次开发:简单的例子(上) | 学步园

    最近因为要进行TeamCenter二次开发(胖客户端定制),所有要开始研究Java了.因此突发奇想为什么不能使用Java进行二次开发呢?现在对UG进行的开发以C/C++应用为主.大多数使用的是原来的U ...

  9. Keras之ML~P:基于Keras中建立的简单的二分类问题的神经网络模型(根据200个数据样本预测新的5个样本)——概率预测

    Keras之ML~P:基于Keras中建立的简单的二分类问题的神经网络模型(根据200个数据样本预测新的5个样本)--概率预测 目录 输出结果 核心代码 输出结果 核心代码 # -*- coding: ...

  10. Keras之ML~P:基于Keras中建立的简单的二分类问题的神经网络模型(根据200个数据样本预测新的5+1个样本)——类别预测

    Keras之ML~P:基于Keras中建立的简单的二分类问题的神经网络模型(根据200个数据样本预测新的5+1个样本)--类别预测 目录 输出结果 核心代码 输出结果 核心代码 # -*- codin ...

最新文章

  1. 麦肯锡顾问的整体设计:从大局需要安排工作
  2. 关于log4net使用中遇到的错误
  3. Ajax+Python flask实现上传文件功能
  4. Bzoj3261 最大异或和
  5. 斐波那契数拓展问题:leetcode-70 爬楼梯问题 leetcode-1137 泰波那契数问题解法
  6. hive最新UDF函数(2016-10-25)
  7. surround360
  8. php怎么选择路径,利用php+mcDropdown实现文件路径可在下拉框选择
  9. 关于Java中对于jsp文件的浅认识
  10. 怎样在ppt中加入随机抽号_潮流女生怎样穿更时髦?经典中加入个性,减龄时尚还高级,快入坑...
  11. [转载] python中随机数生成函数_python中seed随机函数如何生成随机数?
  12. php里无法找到该网页,thinkphp搭建网站后端,入口文件找不到(无法加载)
  13. HC32F4 CRC32校验(附软件CRC32校验)
  14. css解决打印不加粗BUG
  15. java如何验证手机号码_java如何校验国际手机号格式
  16. ROC曲线下面积为什么越大越好 (TPR FPR)
  17. 2022年华为杯中国研究生数学建模竞赛B题思路
  18. 数据链路层------基于TCP/IP五层模型
  19. Vue 富文本wangEditor3 (自动保存 快捷保存 激活工具栏...
  20. H3C服务器配置raid

热门文章

  1. FreeImage通用图像加载实现
  2. 浏览器实现word在线预览
  3. FIT2CLOUD获网宿科技战略投资 深度聚焦混合云管理价值交付
  4. 基于pytorch+Resnet101加GPT搭建AI玩王者荣耀
  5. sqlplus 命令登录 Oracle
  6. Jmeter脚本录制
  7. 关于Faster Rcnn的一些理解
  8. Axure常见的几种原型图
  9. 拖机教程之ASTER v7超越BETWIN WIN7 VISTA教程(含ASTER v7和注册机下载)
  10. html背景图片自适应屏幕