基于Web的在线问卷调查系统设计与实现(PHP+Html+MySQL)

目 录

中文摘要 1
Abstract II
第1章 绪论 1
1.1 研究背景 1
1.2 设计目标 1
1.3本文结构 1
第2章 系统与程序架构及其相关技术介绍 3
2.1 系统架构与程序架构 3
2.1.1 nginx介绍 3
2.1.2 thinkPHP介绍 3
2.2 开发相关技术介绍 4
2.2.1 php技术 4
2.2.2 mysql技术 5
第3章 系统需求分析与设计 7
3.1 需求分析 7
3.1.1 平台系统需求分析 7
3.1.2 客户系统需求分析 7
3.1.3 普通用户需求分析 7
3.1.4 用例图 8
第4章 系统及数据库设计 9
4.1系统设计 9
4.2数据库设计 10
第5章 系统详细设计与功能实现 16
5.1系统项目的文件夹结构 16
5.2平台管理系统的详细设计 17
5.2.1 登陆功能 17
5.2.2 用户列表管理 18
5.2.3 问卷管理功能 19
5.2.4 题型管理功能 20
5.2.5 周边功能 21
5.3 客户管理系统的详细设计 21
5.3.1 注册登录功能 21
5.3.2 问卷列表管理 22
5.3.3 客户个人信息 22
5.4 用户系统设计 23
5.4.1 网站首页宣传 23
5.4.2 登录注册功能 23
5.4.3 问卷详情和问卷提交 23
总结 25
参 考 文 献 26
致谢 27
第3章 系统需求分析与设计

本套问卷调查系统,针对使用的人群分为平台,客户,普通用户三种角色。下面对这三种角色做一简要的说明:

(1) 平台,即为网站管理者,具有所有权。
(2) 客户,即为创造问卷的组织或者个人,因为普通用户也可能是潜在客户,所以普通用户也属于客户之一。
(3) 用户,即为填写问卷的被调查者。

3.1 需求分析
3.1.1 平台系统需求分析
平台,做为整个系统的管理者,具有最高的权限,需要提供诸多的功能。应具有如下几个功能:
(1)用户管理功能:可以在系统上对平台管理员和已注册的用户进行列表的查看和基本信息的修改,或者删除一个已存在的用户。
(2)问卷管理功能:对于客户发布的问卷,平台系统需提供问卷列表的查看和问卷基本信息修改,以及更改问卷问题,并能保存发布的功能。
(3)题型管理功能:管理系统中,允许客户使用的题型列表。
(4)日志功能:对一些操作做日志记录,以便误操作时候查询。
(5)周边功能:除了上述主体功能外,仍提供一些额外的直观的信息展示,例如当前系统已有多少客户,多少问卷,被提交了多少次。以及最新发布的和最热门的问卷列表。

3.1.2 客户系统需求分析
平台为了给客户提供一个良好的问卷生成平台,需要有如下一些功能:
(1)注册登录功能:用户可根据邮箱、手机或自定义昵称注册成为平台的客户或者是单纯的普通用户。
(2)问卷管理功能:客户可以在系统上面,创建具体的问卷,可设定主题,并提供丰富的题型,供客户选择。编辑完问卷题目后,用户可预览问卷、保存问卷、发布问卷。
(3)个人信息修改功能:客户可在系统上修改自己的个人信息,邮箱,登录密码等等。

3.1.3 普通用户需求分析
普通用户分为两种类型,一种是注册登录的用户,一种是游客用户。对于登录注册的用户,可能是潜在的客户同样可以在客户系统上创建自己的问卷。
另外普通用户更主要的是可以浏览网站上都有哪些问卷,以及问卷的填写和提交。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>
	问卷调查网
    </title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <link type="text/css" rel="stylesheet" href="{$Think.STATIC_DOMAIN}/css/index.css" /> 
    <script src="{$Think.STATIC_DOMAIN}/js/jquery.js"></script>
    <script src="{$Think.STATIC_DOMAIN}/js/index.js"></script>
</head>
<body>
    <input type="hidden" id="last_selected_type" value="{$last_selected_type}"><!--隐藏域,上次选中的导航栏-->
    <input type="hidden" id="last_search_keywords" value="{$last_search_keywords}"><!--隐藏域,上次的搜索词-->
    <div id="BS">
        <div class="headerwraper">
            <div id="header" style="height:80px">
                <div class="sojump_logo" style="padding-top:15px;margin-top:0px;width:250px;height:65px;">
                        <a href="{$Think.const.STATIC_DOMAIN}" style="display:inline-block;font-size:24px;color:#3C763D;" >在线问卷调查网</a>
                        <a href="{$Think.const.STATIC_DOMAIN}">qss.codiy.net</a>
                </div>
                <div class="Header_r" style="margin:0px;height:82px;">
                    <div id="ctl00_divLogin" class="header_reg" style="margin:0px;">
                        <ul>
                            <li>
                                <a href="/User/Public/register">
                                    <span style="cursor: pointer;" class="header_btn">注册</span>
                                </a>
                            </li>
                            <li id="ctl00_liLogin">
                                <a href="/User/Public/login" class="new_titxt" style="font-size: 14px;">登录</a>
                            </li>
                        </ul>
                    </div>
                    <div id="NMenu" style="margin:0px;margin-top:15px;">
                        <ul style="float:right;">
                            <li id="ctl00_liIndex"><i></i><a href="{$Think.const.STATIC_DOMAIN}" class="indexnav">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></li>
                            <li id="ctl00_liCustomer" style="border: 0; padding-right: 0;"><i></i><a href="{$Think.const.STATIC_DOMAIN}" class="indexnav">问卷中心</a></li>
                            <li id="ctl00_liCustomer" style="border: 0; padding-right: 0;"><i></i><a href="#footer" class="indexnav">联系我们</a></li>
                        </ul>
                    </div>
                </div>
            </div>
            
        </div>
        <div style="margin:0 auto;  width:945px; text-align:left; margin-top:30px;;">
            
<div style="margin: 0 auto;">
    <div>
        <ul  class="stat_tab" style="padding-left:45px; padding-top:0px;">
            <if condition="$Think.get.type eq 'all'"><li class="current"><elseif condition="$Think.get.type eq ''"/><li class="current"><else /><li></if>
                <a href="?type=all"><span>所有</span></a>
            </li>
            <if condition="$Think.get.type eq '1'"><li class="current"><else /><li></if>
                <a href="?type=1"><span>心理</span></a>
            </li>
            <if condition="$Think.get.type eq '2'"><li class="current"><else /><li></if>
                <a href="?type=2"><span>生活</span></a>
            </li>
            <if condition="$Think.get.type eq '3'"><li class="current"><else /><li></if>
                <a href="?type=3"><span>情感</span></a>
            </li>
            <if condition="$Think.get.type eq '4'"><li class="current"><else /><li></if>
                <a href="?type=4"><span>科技</span></a>
            </li>
            <if condition="$Think.get.type eq '5'"><li class="current"><else /><li></if>
                <a href="?type=5"><span>企业</span></a>
            </li>
            <if condition="$Think.get.type eq '6'"><li class="current"><else /><li></if>
                <a href="?type=6"><span>产品</span></a>
            </li>
            <if condition="$Think.get.type eq '7'"><li class="current"><else /><li></if>
                <a href="?type=7"><span>教育</span></a>
            </li>
            <if condition="$Think.get.type eq '0'"><li class="current"><else /><li></if>
                <a href="?type=0"><span>其他</span></a>
            </li>
        </ul>
    </div>
</div>
 <div style="clear:both;"></div>
    <div style="margin: 10px 0 0 40px;">
        <div>
            <input id="search_keywords" style="width:380px; padding:3px 0 2px 5px; height:23px;border:2px #68ACFF solid;outline:none;vertical-align:middle;"
            onfocus="if(value=='请输入关键词'){this.style.color='#000000';value='';}"
            onblur="if(value==''){this.style.color='#666666';value='请输入关键词'}" value="请输入关键词"
            type="text" />
            <a class="btnbgbig" style="vertical-align:middle;" onclick="search_click();">
                <span>搜索问卷</span>
            </a>
        </div>
        <div style="clear:both;"></div>
   </div>
    <div style="clear:both;"></div>
    <div class="divhead864">
<div id="postmain">
    <div id="post_list" style="padding-top:1px;">
    <iframe  style=" position:absolute; z-index:1; display:none;" id="iframeObj" frameborder="0"></iframe>
    <div id="divComplete" style="position:absolute;width:370px;z-index:2;"></div>

        <div style="clear:both;"></div>
        <div id="ctl00_ContentPlaceHolder1_post_list"></div>
               <foreach name="left_list" item="record">
               <div class="post_item">
                    <div class="post_item_body">
                        <h3>
                            <a href="{$record['url']}" target="_blank">{
    
    $record['title']}</a>    
                        </h3>
                        <div class="post_item_summary">

                        </div>
                        <div class="post_item_foot">
                                <span>{
    
    $record['create_time']|date='Y-m-d H:i:s',###}</span>
                                &nbsp;&nbsp;题目数(<span>{
    
    $record['question_num']}</span>)
                                <span class="article_view">
                                    <a href="{$record['url']}" class="grayline" target="_blank">查看问卷(<span>{
    
    $record['post_time']}</span>)</a>&nbsp;&nbsp;</span> 
                       </div>
                    </div>
                </div>
                </foreach>
                <div class="clear">
                </div>
    </div>
    
    <div style="width: 540px; margin-top: 10px; text-align: center;" class="pager">
       <div id="ctl00_ContentPlaceHolder1_divPager">
 
       <span class="text" style="padding-left: 10px">{
    
    $pageinfo}</span>
                </div>
    </div>
   <div style="clear:both;"></div>
</div>
<div id="side_right">
    <div style="clear:both;"></div>
    <div>
        <a href="/newsurveys.aspx" style="float:left;" class='link-666'><b>热门问卷列表</b></a> 
        <div class="divclear"></div>
    </div>
    <div class="widget_right"> 
        <h2 class="right_topic_title">热门问卷排行榜</h2>
        <div class="widget_right_body">
            <ul>
                <assign name='num' value='1'/>
                <foreach name="hot_list" item="record">
                    <li>
                        <div style="float:left;"><img src="img/index_icon{$num++}.gif" style="border-width:0px;padding-right:5px;padding-top:3px; vertical-align:middle;" /></div>
                        <div style="float:left;width:240px;">
                            <a class="link-666" href="{$record['url']}" target="_blank">{
    
    $record['title']}({
    
    $record['post_time']})</a></div>
                        <div style="clear:both;"></div>
                    </li>
                </foreach>
            </ul>
        </div>
    </div>
   
    <div>
        <a href="/newsurveys.aspx" style="float:left;" class='link-666'><b>最新问卷列表</b></a> 
        <div class="divclear"></div>
    </div>
    <div class="widget_right"> 
        <h2 class="right_topic_title">最新问卷排行榜</h2>
        <div class="widget_right_body">
            <ul>
                <assign name='num' value='1'/>
                <foreach name="new_list" item="record">
                    <li>
                        <div style="float:left;"><img src="img/index_icon{$num++}.gif" style="border-width:0px;padding-right:5px;padding-top:3px; vertical-align:middle;" /></div>
                        <div style="float:left;width:240px;">
                            <a class="link-666" href="{$record['url']}" target="_blank">{
    
    $record['title']}({
    
    $record['post_time']})</a></div>
                        <div style="clear:both;"></div>
                    </li>
                </foreach>
            </ul>
        </div>
    </div>
</div>
</div>  
<div style="clear:both;"></div>
 
        </div>
        <div style="height:100px;"></div>
    </div>
    <div id="footer" style="height:70px;">
        <div class="coypright">
            <div style="float: left;">
                <img width="127" height="49" alt="" src="/images/indexnew/bottomlogo.gif"></div>
            <ul class="alCons">
                <li>Contact US</li>
                <li>Tel:18650346179</li>
                <li>E-mail:mail@codiy.net</li>
            </ul>
          
            <ul class="alCons alcons_txt">
                <li style="letter-spacing: 13px;">
                    <img width="210" height="25" alt="" src="{$Think.const.STATIC_DOMAIN}/img/bottom_right.gif"><br>
                    专业的问卷调查网站</li>
            </ul>
        </div>
        
    </div>
    <div style='display:none;'></div>

</body>
</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/newlw/article/details/133544994
今日推荐