会议记录管理系统(1)

A.系统分析
B.数据库设计流程
C.搭建系统架构的方法
D.ADODB类库技术的应用
E.熟悉ADODB类库操作mySql的使用方法
F.webBrowser预览与打印
G.生成excel报表
H.分类查询实现的应用
I.文件上传的实现方法

1.开发背景
这里写图片描述

2.需求分析
这里写图片描述

3.系统分析
- 系统目标
- 首页设计简洁、大方、得体,功能结构清晰,突出重点
- 可操作性强,避免复杂的、有异议的链接
- 浏览速度快,尽量避免长时间打不开页面的情况发生
- 会议记录信息查看部分,可以通过会议的不同属性来搜索
- 实现如打印预览、打印、Excel报表导出等独特功能
- 按用户使用权限显示可执行的操作
- 管理模式可以对用户信息和会议记录信息进行查看和管理操作
- 易维护,并提供二次开发支持

  • 系统功能结构
    这里写图片描述

4.软件开发环境

  • 服务器端
    • 操作系统windows 10 /Linux(推荐)
    • 服务器Apache(phpstudy集成)
    • PHP软件(phpstudy集成)
    • 数据库:mySQL(phpstudy集成)
    • ADODB类库
    • 开发工具:Visual Studio Code
    • 浏览器:IE 9.0及以上版本
    • 分辨率:最佳效果为1024 x 768像素
      • 客户端端
    • 浏览器:推荐IE 9.0及以上版本
    • 分辨率:最佳效果为1024 x 768像素

5.文件夹组织结构
这里写图片描述

6.数据库设计

  • 数据库分析
    根据系统分析和系统功能结构,规划出本系统的数据库实体关系E-R图。
    1.用户信息实体
    这里写图片描述

    2.会议记录信息实体
    这里写图片描述

3.部门信息实体
这里写图片描述

7.根据E-R图创建数据库和数据表
下面介绍各个数据表的结构和字段说明

1.tb_meeting_user(用户信息表)
用户信息表主要用于存储用户的信息,如下截图:
这里写图片描述

2.tb_meeting_info(会议记录信息列表)
会议记录信息列表主要用于添加会议的相关信息,如下截图:
这里写图片描述

3.tb_meeting_depart(部门信息表)
部门信息表主要用于存储应用该系统的企事业单位的相关部门。如下截图:
这里写图片描述

8.数据库连接文件:01/conn/conn.php

<?php// 数据库连接文件$conn=mysql_connect("localhost","root", "root");mysql_select_db("tb_meeting",$conn);mysql_query("SET NAMES GBK");                   // 防止乱码
?>

9.登录模块设计

  • 用户权限判断技术:01/index.php
<?phpsession_start();// 判断当前登录状态if(isset($_SESSION["name"]) and isset($_SESSION["id"]) and isset($_SESSION["rights"])){echo "<meta http-equiv=\"refresh\" content=\"0;url=manager.php\" />";}else{echo "<meta http-equiv=\"refresh\" content=\"0;url=login.php\" />"}
?>

在index.php文件中通过SESSION变量自动判断登录状态。如果用户状态登录被激活,则自动跳转到会议管理首页,否则跳转到用户登录界面。

小提示:refresh用于刷新和跳转(重定向)到页面,例如

<meta http-equiv="refresh" content="5; url=http://www.baidu.com/" />

意思是说5秒后跳转到百度页面

  • 用户登录实现过程
    创建前台登录界面(login.php)完成用户登录表单的设计,当单击“登录”按钮时,将用户名和密码提交到处理页(login_chk.php),完成登录用户的验证操作。
    01/login.php文件的关键代码如下:
   <!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><title>用户登录</title></head><body><table cellpadding="0" cellspacing="0"><form method="post" action="login_chk.php"><tr><td width="58" height="42"><div align="right">用户名:</div></td><td width="163"><input class="input1" id="username" type="text" name="username" onmouseover="this.style.backgroundColor='#deebef'" onmouseout="this.style.backgroundColor=''"/></td></tr><tr><td width="58" height="42"><div>密&nbsp;&nbsp;码:</div></td><td width="163"><input class="input2" id="pass" type="password" name="pass" onmouseover="this.style.backgroundColor='#deebef'" onmouseout="this.style.backgroundColor=''" /></td></tr><tr><td colspan="2" height="22"><center><input name="submit" type="submit" class="btnlogin" value="登录" />&nbsp;<input name="reset" type="reset" class="btnreset" value="重置" /></center></td></tr></form></table></body>
</html> 

登录处理文件login_chk.php,完成对系统提交数据的判断,并且更新用户登录的次数和时间。
01/login_chk.php文件的关键代码如下:

<?phpheader("Content-Type:text/html;charset=utf-8");date_default_timezone_set('PRC');           // 设置为北京时间session_start();include_once("conn/conn.php");              //加载数据库连接文件if(empty($_POST["username"]) or empty($_POST["pass"])){         // 用户名和密码如果为空,提示不能为空,跳转回登录页面echo "<script>alert('用户名和密码不能为空!');history.go(-1);</script>";}else{  //如果用户名和密码不为空// 取得客户端的数据$username = $_POST["username"];$pass = $_POST["pass"];// 判断登录用户名是否存在$sqltest = "select * from tb_meeting_user where userName = '$username'";$testrst = mysql_query($sqltest);// 从结果集中取得一行作为关联数组$testrst = mysql_fetch_array($testrst,MYSQL_ASSOC);// 如果用户名存在if($testrst){$sqlstr = "select * from tb_meeting_user where userName = '$username' and userPassword = '$pass'";$rst = mysql_query($sqlstr);$rst = mysql_fetch_array($rst,MYSQL_ASSOC);// 如果密码正确if($rst){if($rst['userWhether'] == 0){      // 如果用户没有被冻结// 赋值给SESSION变量$_SESSION['id'] = $rst['userId'];$_SESSION['name'] = $rst['userName'];$_SESSION['rights'] = $rst['userRights'];$_SESSION['lasttime'] = $rst['userLastLoginDate'];// date()格式化本地日期和时间,并返回已格式化日期字符串// Y(四位年份表示),m(月份数字表示(01-12)),d(一个月=中的第几天从01-31)// G(24小时制,不带前导0(0-23)),i(分,带前导0(00-59)),s(秒,带前导0(00-59))$logindate = date("Y-m-d").' '.date("H:i:s");       // 当前登录时间$logincount = $rst['userLoginCount'];           // 当前登录次数$logincount++;                                  // 登录次数自增1echo $logindate;// 更新数据库登录次数和登录时间$sqlstrud = "update tb_meeting_user set userLoginCount = $logincount,userLastLoginDate = '$logindate' where userId = $_SESSION[id]";echo $sqlstrud;mysql_query($sqlstrud);     // 更新数据库// 2秒后进入管理页面echo "<meta http-equiv=\"refresh\" content=\"2;url=manager.php\" />";// 等待加载图片// echo "<img src='images/loginwait.jpg' width='1003' height='636' />";}else{      // 如果用户被冻结echo "<script>alert('该用户账号已被冻结,请联系管理员!');history.go(-1);</script>";}}else{// 如果密码错误echo "<script>alert('密码错误!请重新登录。');history.go(-1);</script>";}}else{  // 如果用户名不存在,// 返回登录页面echo "<script>alert('该用户名不存在!请重新登录。');history.go(-1);</script>";}}
?>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/59927.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小爱音箱mini无法响应的解决方法

1、按音箱的“暂停键”5秒。 2、听到“已进入设置模式”后&#xff0c;橙色灯常亮时在手机上打开小爱音箱app 3、重新设置网络&#xff1a; 选择路由器&#xff0c;路由器链接密码后&#xff0c;当语音提示已连接&#xff0c;说明设置完成。

BI工具如何提升工作效率:以瓴羊Quick BI、观远BI为例

最近一段时间&#xff0c;ChatGPT的横空出世让越来越多的人意识到了数字科技对于人们生活方式、工作方式的巨大变革作用。事实上&#xff0c;在企业中这样的例子早就十分常见。比如瓴羊Quick BI、观远BI等商业智能工具的出现和应用&#xff0c;就为现代企业的管理运营和工作效率…

【QT + OsgEarth】(一)-- 环境配置

OSG概述 OpenSceneGraph(简称OSG)使用OpenGL技术开发&#xff0c;是一套基于Ct平台的应用程序接口(API)&#xff0c;它让程序员能够更加快速、便捷地创建高性能、跨平台的交互式图形程序。它作为中间件(middleware)为应用软件提供了各种高级渲染特性&#xff0c;IO&#xff0c…

Windows环境下配置CGAL

环境版本 CGAL-5.5 下载地址&#xff1a;https://github.com/CGAL/cgal/releases/tag/v5.5 Tips: 在该网址下同时下载<GMP and MPFR libraries for Windows 64bits>&#xff0c;并将下载后该文件下的gmp复制到CGAL的auxiliary进行覆盖。 Boost-1-18-0 下载地址&#xff1…

面向黑马头条学习

一&#xff1a;创建项目 进去选择第三个&#xff0c;人工选择&#xff1a; 二&#xff1a;加入git版本管理 查看git日志&#xff1a; github首次创建vuecli &#xff0c;自己提交了第一次代码 第二步&#xff0c;将本地仓库添加远程仓库地址 add后的origin后面地址 的名字&…

黑马头条简述

黑马头条 技术栈&#xff1a;springcloudgateway微服务之前架构的网关服务&#xff0c;实现微服务注册的api请求路由&#xff0c;控制流速和熔断处理 Springbootalibaba Nacos作为项目中注册中心和配置中心 Mybatis-plus作为持久层提升开发效率 Kafka完成内部系统消息通知&…

黑马头条-day02

文章目录 前言一、文章列表加载1.1 需求分析1.2 表结构分析1.3 导入文章数据库1.4 实现思路1.5 接口定义1.6 功能实现 二、freemarker2.1 freemarker简介2.2 环境搭建&&快速入门2.2.1 创建测试工程 2.3 freemarker基础2.3.1 基础语法种类2.3.2 集合指令2.3.3 if指令2.3…

百度沈抖:文心一言将通过百度智能云对外提供服务

2月17日&#xff0c;在2023 AI工业互联网高峰论坛上&#xff0c;百度智能云宣布“文心一言”将通过百度智能云对外提供服务&#xff0c;为产业带来AI普惠。 百度集团执行副总裁、百度智能云事业群总裁沈抖表示&#xff0c;“文心一言”是基于百度智能云技术打造出来的大模型&a…

大模型落地比趋势更重要,NLP+金融如何看得见、摸得着?

全球很多人都开始相信&#xff0c;以ChatGPT为代表的大模型&#xff0c;将带来一场NLP领域乃至整个人工智能的技术革命&#xff0c;影响遍及各行各业。 那么&#xff0c;金融机构和科技企业&#xff0c;应该以怎样的姿态迈入新的洪流&#xff1f; 前不久&#xff0c;有“中国智…

关于算力的未来,新一代PowerEdge告诉你答案

从ChatGPT等大模型海量参数的训练&#xff0c;自动驾驶领域感知模型的训练与仿真&#xff0c;到蛋白质机构预测、流体力学仿真等AIScience&#xff0c;再到矿山、交通、能源等部署广泛的边缘计算设备…… 如今&#xff0c;我们愈发确切地认识到&#xff0c;算力在数字经济时代不…

Meta 推出大型语言模型 LLaMA,比 GPT3.5 性能更高

整理 | 禾木木 责编 | 梦依丹 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; ChatGPT 的爆火使得大家对 AI 进行了深度的讨论&#xff0c;大厂们也都在向公众展示他们所谓的 "生成性人工智能"已经准备好进入黄金时代。 近日&#xff0c;Meta 宣布…

Chat Bot(聊天机器人)自动化测试脚本来解决人工测试的问题

问题描述&#xff1a;有一个Oliver Cafe Shop聊天机器人&#xff0c;如何实现自动化脚本自动测试这个聊天机器人的功能。 实现效果&#xff1a;通过代码来实现客户端发送请求来代替Bot Framework Emulator输入Tea,然后客户端监听和接收服务器端(Bot)发来的回复(图片中选择drin…

postman发送需要登录验证的请求

使用postman 发送后台需要登录验证的请求 postman需要填写的参数 Authorization的获取方式 打开前台发送一个成功的请求 找到里面的Authorization粘贴到postman参数那里就可进行请求了

Postman发送请求时带上登录信息

正常情况下&#xff0c;没有登录验证等公共接口&#xff0c;用postman进行get或post请求都很方便&#xff0c;加上相应的参数就行。 但是对于某些接口&#xff0c;可能需要先登录后才能请求&#xff0c;这时如果按正常的思路请求&#xff0c;可能就会被拦截了。 对于这种情况…

避免跳出谷歌人机验证 reCAPTCHA界面的解决方法

第一次遇到跳出谷歌人机验证 reCAPTCHA界面只要点击窗口就没有问题了&#xff0c;心里还感叹了下谷歌能把人机验证这事做的这么好&#xff0c;不错。然而这个窗口还是会不断调出来扰人 &#xff0c;导致使用Chrome浏览器搜索变得很慢&#xff0c;体验感极速下降&#xff0c;非常…

postman 请求时提示需要登录解决方案

在postman中没有输入登入信息时会遇到下面的提示。 只需在游览器控制台中 network 找到对应的请求&#xff0c; 在其中找到有关 Authority 的 Request Headers &#xff0c;将其复制 粘贴到postman中 再次执行&#xff0c;结果成功。

postman 登录--先获取到短信验证码,然后短信验证码的返回值作为登录接口的某一个请求值

业务场景&#xff1a;使用postman完成登录&#xff0c;先从一个接口获取到验证码&#xff0c;然后登录接口调用这个验证码 1.先写获取到验证码这个接口&#xff0c;返回的结果如下&#xff0c;我需要获取到data的值 2.然后需要把这个data返回的值设置成变量 //把data的值打…

使用postman完成需要发送验证码的会员注册请求

目标&#xff1a; 使用postman完成移动端的会员注册功能。 背景&#xff1a; 移动端会员注册时需要输入验证码&#xff0c;才能完成注册。 PC管理端有短信发送历史页面&#xff0c;能查询到注册时发送的验证码&#xff0c;验证码格式如下&#xff1a; [ uat_AutoTest ] 尊敬的用…

【异常解决】postman请求提示Full authentication is required to access this resource

Full authentication is required to access this resource解决方案 一、背景描述二、解决方案 一、背景描述 在使用 postman 测试接口时&#xff0c;该接口需要在 Header 中传入 access_token&#xff0c;实际上也在请求的 Header 中添加上了 access_token 参数&#xff0c;但…

请求后端返回的验证码显示的情况

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、情况一&#xff1a;数据是图片文件流二、情况二&#xff1a;直接返回是图片情况三&#xff1a;uni小程序的登录验证 最后 前言 在实际的项目中验证码登录几…