目 录
摘 要 1
Abstract 2
1 系统概述 5
1.1 毕业设计目的 5
1.2 开发背景 5
1.3 开发环境 6
2 目的与任务 7
2.1 目的 7
2.2 任务 7
3 系统功能结构设计 9
3.1 登录功能 9
3.2 首页 9
3.3 社团信息功能 9
3.4 社团成员功能 9
3.5 社团活动功能 9
3.6 个人信息功能 10
3.7 职位信息功能 10
3.8 注销功能 10
4 系统数据库设计 11
4.1 E-R模型 11
4.2 数据库表结构 11
5 系统实现 14
5.1 index 14
5.1 Framework 14
5.2 View 14
5.3 Controller 18
5.4 Model 18
6系统测试与性能分析 19
6.1 测试计划 19
6.2 系统测试 19
6.2.1基础测试 19
6.2.2 社团管理测试 20
总 结 22
参考文献 24
致 谢 25
3 系统功能结构设计
3.1 登录功能
用户通过用户名和密码进入系统并获得相应的权限。系统采用自动注册功能,用户进入了某社团(该社团管理员将该用户信息录入系统)后,即可用学号登录,密码默认为学号(若有用户的身份证信息更好,可以设身份证后6位为默认密码),相应的,若用户信息未被录入系统,则该用户无法登录。现实中有可能出现用户参加了两个社团,在一个社团身份是主席,而另一个社团身份是会员,因此用户权限会根据操作的社团发生变化。
3.2 首页
首页仅显示所有社团的大致信息。
3.3 社团信息功能
社团信息功能包括对社团和部门的增加删除修改和查询。在社团信息页面可选择社团,除教师用户外,其他用户均只能选择自己参加的社团。显示所选择社团以及其所有部门的所有详细信息,具有权限的即可对相应信息进行增加删除修改。
3.4 社团成员功能
社团成员功能包括对成员的增加删除修改和查询。在社团成员页面选择社团和部门,除教师用户外,其他用户均只能选择自己参加的社团,而除教师、主席、副主席外,其他用户均只能选择自己参加的部门。显示所选择部门的所有成员的详细信息,具有权限即可对相应信息进行增加删除修改。
3.5 社团活动功能
社团活动功能包括对活动的增加删除修改和查询。在社团活动页面可选择社团,除教师用户外,其他用户均只能选择自己参加的社团。显示所选择社团的所有活动的大致信息,教师、主席、副主席、部长、副部长均可查看活动详细信息和添加活动。并在详细信息页面可对该活动进行修改和删除操作。
3.6 个人信息功能
个人信息功能包括对个人信息的修改以及修改密码操作。在个人信息页面可显示所参加的社团部门的大致信息,以及在社团内的个人信息。考虑到若一个人参加了多个社团多个部门,那么在录入信息的时候可能会有冲突,因此设置每个部门录入的信息互不干扰,即成员表中,以(用户学号,部门id)为主键。因此在个人信息页面中,显示了所有参加的部门中的个人信息。
3.7 职位信息功能
职位信息仅教师用户进入,用于管理各职位的权限等级。权限值越低等级越高:教师-0、主席-2、副主席-4、部长-6、副部长-8、会员-10、干事-10。目的是为了方便日后添加新的职位。
3.8 注销功能
注销当前账号以登录其他账号。

<?php
/*** User: Leammin* Date: 2016/12/11*/
$p = !empty($_GET['p']) ? $_GET['p'] : "front";//确定使用哪个平台,默认front
$c = !empty($_GET['c']) ? $_GET['c'] : "Login";//确定使用哪个控制器,默认Login
$a = !empty($_GET['a']) ? $_GET['a'] : "login";define("PLAT", $p);
define("DS", DIRECTORY_SEPARATOR);//DIRECTORY_SEPARA TOR表示“目录分隔符”,
define("ROOT", __DIR__ . DS); //index.php目录:
define("APP", ROOT . 'Application' . DS);   //Application的完整路径
define("FRAMEWORK", ROOT . 'Framework' . DS);   //框架基础类所在路径
define("PLAT_PATH", APP . PLAT . DS); //当前平台所在目录
define("CTRL_PATH", PLAT_PATH . "Controller" . DS);//当前控制器所在目录
define("MODEL_PATH", PLAT_PATH . "Model" . DS);//当前模型所在目录
define("VIEW_PATH", PLAT_PATH . "View" . DS);//当前视图所在目录
/*
echo PLAT."<br />";
echo DS."<br />";
echo ROOT."<br />";
echo APP."<br />";
echo FRAMEWORK."<br />";
echo PLAT_PATH."<br />";
echo CTRL_PATH."<br />";
echo MODEL_PATH."<br />";
echo VIEW_PATH."<br />";
*/
/** PLAT=front* DS=\* ROOT=F:\Programming\web\com\commllm\* APP=F:\Programming\web\com\commllm\Application\* FRAMEWORK=F:\Programming\web\com\commllm\Framework\* PLAT_PATH=F:\Programming\web\com\commllm\Application\front\* CTRL_PATH=F:\Programming\web\com\commllm\Application\front\Controller\* MODEL_PATH=F:\Programming\web\com\commllm\Application\front\Model\* VIEW_PATH=F:\Programming\web\com\commllm\Application\front\View\
*/
function __autoload($class){$base_class = array('TableFactory','BaseModel','ModelFactory','BaseController');if(in_array( $class, $base_class)) {require FRAMEWORK . $class . '.class.php';   //加载基础模型类}else if(substr($class, -5) == "Model") {//所需要的类的名字最后5个字符是"Model”时require  MODEL_PATH  .  $class  . ".class.php";}else if( substr($class, -10) == "Controller"){//所需要的类的名字最后10个字符是"Controller”时require  CTRL_PATH  .  $class  . ".class.php";}
}/*
echo "<pre>";
$test = ModelFactory::mf('ActiModel');
$result = $test->getActiByid('1');
echo "<pre>";
if ($result === false) {echo "<br />";$e = $test->getErrorInfo();echo "$e[2]";echo "<br />";
}
var_dump($result);
echo "</pre>";
#*/
/*
$config = array('host' => "localhost",'port' => 3306,'user' => "root",'pass' => "root",'charset' => "utf8",'dbname' => "asso_db"
);
$dsn = "mysql:host=$config[host]; port=$config[port]; dbname=$config[dbname]";
$opt = array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names " . $config['charset']);
$pdo = new PDO($dsn, $config['user'], $config['pass'], $opt);$stmt = $pdo->query("select * from asso_info where asso_id = '10'");
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo "<pre>";
if ($result === false) {echo "<br />";$e = $pdo->errorInfo();echo "$e[2]";echo "<br />";
}
if ($stmt === false) {echo "<br />";$e = $pdo->errorInfo();echo "$e[2]";echo "<br />";
}
var_dump($stmt);
echo "<br />";
var_dump($result);
echo "</pre>";
#*/
/*
$membTable = TableFactory::membTable('123456789012','2','test','会员');
$test = ModelFactory::mf("MembModel");
$result = $test->insertMemb($membTable);
echo "<pre>";
if ($result === false) {echo "<br />";$e = $test->getErrorInfo();echo "$e[2]";echo "<br />";
}
var_dump($result);
echo "</pre>";
#*/
//*
session_start();
if (!isset($_SESSION['admin'])) {$p = "front";$c = "Login";if ($a!='check') {$a = 'login';}
}$ctrl_name = $c . "Controller";     //构建控制器的类名
$ctrl = new  $ctrl_name ();    //可变类
$action = $a . "Action";
$ctrl->$action();
#*/
//开启session















社团管理系统网站(php+mysql)相关推荐

  1. Python+mysql高校学生社团管理系统-计算机毕业设计源码00498

    高校学生社团管理系统 摘要 随着计算机科学技术的日渐成熟,人们已经深刻地认识到了计算机在各个领域中发挥的功能的强大,计算机已经进入到了人类社会发展的各个领域,并且发挥着十分重要的作用.目前学校学生社团 ...

  2. 基于 Vue.js+Springboot 的学院社团管理系统的设计与实现

    在教育深化改革的背景下,我国除了优化教育体制,提升教育水平之外,还鼓励学生参与课外活动,促进学生全面发展.如何更好地让大学生加入适合自己的社团,在繁忙的学习之余,可以更好的参与到社团的活动,从中汲取新 ...

  3. java图书管理系统源代码_高校社团管理系统(ssm+mysql)

    高校社团管理系统(ssm+mysql)https://www.zhihu.com/video/1225527405491630080 本文以java为开发技术,实现了一个高校社团管理系统.高校社团管理 ...

  4. mysql基于SSM的学生社团管理系统 毕业设计源码211531

    SSM学生社团管理系统设计与实现 摘 要 21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于社团管理也是十分常见的.过去使用手工的管理方式对学生社团进行管理,造成了管理繁琐.难以维 ...

  5. java计算机毕业设计衡师社团管理系统源程序+mysql+系统+lw文档+远程调试

    java计算机毕业设计衡师社团管理系统源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计衡师社团管理系统源程序+mysql+系统+lw文档+远程调试 本源码技术栈: 项目架构:B/S ...

  6. java毕业生设计大学生社团管理系统计算机源码+系统+mysql+调试部署+lw

    java毕业生设计大学生社团管理系统计算机源码+系统+mysql+调试部署+lw java毕业生设计大学生社团管理系统计算机源码+系统+mysql+调试部署+lw 本源码技术栈: 项目架构:B/S架构 ...

  7. java毕业生设计校园社团管理系统计算机源码+系统+mysql+调试部署+lw

    java毕业生设计校园社团管理系统计算机源码+系统+mysql+调试部署+lw java毕业生设计校园社团管理系统计算机源码+系统+mysql+调试部署+lw 本源码技术栈: 项目架构:B/S架构 开 ...

  8. 计算机毕业设计Java大学生社团管理系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java大学生社团管理系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java大学生社团管理系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S ...

  9. ssm+mysql社团管理系统-计算机毕业设计源码97882

    摘 要 21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于社团管理也是十分常见的.过去使用手工的管理方式对社团进行管理,造成了管理繁琐.难以维护等问题,如今使用计算机对社团的各项基 ...

最新文章

  1. hdu 5099 Comparison of Android versions 枚举题意
  2. python pandas rename_使用Pandas重命名文件
  3. 谷歌新智能体Dreamer将亮相NeurIPS 2019,数据效率比前身PlaNet快8个小时
  4. 怎么在mysql创建数据库怎么加入学号_数据库怎么创建学生信息表
  5. Ajax全接触(1)
  6. 夯实基础——P2084 进制转换
  7. springboot的原生cache_springboot-shiro-redis-session-cache
  8. java实验6 词频统计_java实训一——词频统计
  9. dom4j工具类_基于DOM4J的XML文件解析类
  10. 一个简单示例 利用jawin完成调用window中dll的调用
  11. 浅谈ztree节点的增加和获取
  12. 运行Android Studio自带模拟器报:Guest isn't online after 7 second...
  13. 使用Rufus制作安装U盘报错,使用UltraISO成功
  14. 色 彩 RGB 值 对 照 表
  15. 怎么用c语言调用其他程序,求助:1个调用其他程序的C语言(或C++)程序
  16. keep sb updated_keep you update 和keep you updated哪个正确?
  17. 【更新】四种WinRAR永久去广告方法
  18. C++ Primer 第5版--练习9.14
  19. e3d教程做logo教程_【教程】立体字母LOGO设计
  20. Arduino(3) Mega2560和外部设备SPI通信

热门文章

  1. 无线蓝牙耳机手机端app开发_汪峰耗时1500天造了一款耳机,秒杀苹果AirPods!
  2. 【励志】俞敏洪励志演讲:摆脱恐惧
  3. win7拔掉耳机后电脑没声音了
  4. 逆天的APP,不得不提到 “一个木函”
  5. adb 卸载android系统程序
  6. 申请苹果个人开发者账号流程
  7. CSDN目录有什么用,怎么使用csdn的目录,csdn目录怎么生成?
  8. 全国计算机等级考试一级模拟试题03,全国计算机等级考试一级模拟试题03
  9. 算法竞赛进阶指南---0x05(排序)七夕祭
  10. LR---Loadrunner11破解方法