1.会议记录添加模块概述
系统正常登录后,每一个用户都有权利添加新的会议,供本部门成员和其他部门成员阅读浏览。

2.会议记录信息验证技术
向数据库中添加新会议记录时,系统必须保证用户提交的信息不为空。这里应用JavaScript脚本判断上传数据是否为空,在js文件夹下创建add_meeting.js文件,编写check_submit()方法,验证表单提交的数据是否为空。关键代码如下:

function check_submit(){if(theForm.meeting_name.value==""){alert("会议名称不能为空!");theForm.meeting_name.focus();return false;}if(theForm.meeting_place.value==""){alert("会议地点不能为空!");theForm.meeting_place.focus();return false;}if(theForm.meeting_host.value==""){alert("会议主持人不能为空!");theForm.meeting_host.focus();return false;}if(theForm.meeting_saver.value==""){alert("会议记录人不能为空!");theForm.meeting_saver.focus();return false;}if(theForm.meeting_present.value==""){alert("出席人员不能为空!");theForm.meeting_present.focus();return false;}if(theForm.textarea.value==""){alert("会议摘要不能为空!");theForm.textarea.focus();return false;}theForm.submit();     // 表单提交
}

3.上传文件处理技术
本系统要求用户在上传会议记录的同时,必须上传文本文档格式的会议记录附件。所以又增加了上传文件和判断上传文件格式两项技术。
A.文件上传
文件上传应用的是move_uploaded_file函数和FILES[]全局变量。1)moveuploadedfile()函数moveuploadedfile()函数将文件上传到服务器中指定的位置。如果成功返回true,否则返回false。语法如下:boolmoveuploadedfile(stringfilename,stringdestination)参数filename指定上传文件的临时文件名,即_FILES[]全局变量。 1)move_uploaded_file()函数 move_uploaded_file()函数将文件上传到服务器中指定的位置。如果成功返回true,否则返回false。语法如下: bool move_uploaded_file(string filename,string destination) 参数filename指定上传文件的临时文件名,即_FILES[tmp_name];参数destination指文件上传后保存的新路径和名称。
注意:如果filename不是合法的上传文件,不会执行任何操作,move_uploaded_file()将返回false,如果参数filename是合法的上传文件,但出于某些原因无法移动,同样也不会执行任何操作,move_uploaded_file()将返回false.此外还会发出一条警告。
2)$_FILES全局变量

B.判断上传文件格式
用如下自定义函数完成,该函数存储于addmeeting_chk.php文件中,关键代码如下:

function f_postfix($f_type,$f_upfiles){     // 获取传递的参数值$is_pass = false;$tmp_upfiles = split("\.",$f_upfiles);  // 获取上传文件的后缀$tmp_num = count($tmp_upfiles);          // 统计返回值的元素数量// 循环读取定义文件类型数组的值for($num = 0;$num < count($f_type);$num++){// 完成文件类型的大小写转换及判断if(strtolower($tmp_upfiles[$tmp_num - 1]) == $f_type["num"]){$is_pass = $f_type["num"];  // 获取文件类型}}return $is_pass;     // 返回上传文件的类型
}

4.会议记录添加的实现过程
会议记录添加的操作是通过addmeeting.php与addmeeting_chk.php两个文件来实现的。
(1)在addmeeting.php文件中,创建添加会议记录信息的表单,通过JavaScript脚本对提交的元素进行判断,并且设置action属性值为addmeeting_chk.php。其关
关键代码如下:

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head><body><script>function checkSubmit(){if(theForm.meeting_name.value==""){alert("会议名称不能为空!");theForm.meeting_name.focus();return false;}// if(theForm.meeting_place.value=""){//     alert("会议地点不能为空!");//     theForm.meeting_place.focus();//     return false;// }// if(theForm.meeting_host.value=""){//     alert("会议主持人不能为空!");//     theForm.meeting_host.focus();//     return false;// }// if(theForm.meeting_saver.value=""){//     alert("会议记录人不能为空!");//     theForm.meeting_saver.focus();//     return false;// }if(theForm.meeting_present.value==""){alert("出席人员不能为空!");theForm.meeting_present.focus();return false;}if(theForm.textarea.value==""){alert("会议摘要不能为空!");theForm.textarea.focus();return false;}theForm.submit();     // 表单提交
}
</script>
<table cellpadding="0" cellspacing="0" border="0"><form id="theForm" name="theForm" action="addmeeting_chk.php" method="post" onsubmit="return checkSubmit();" enctype="multipart/form-data"><tr><td colspan="3" height="32"><h1 align="center">添加会议记录</h1></td></tr><tr><td width="120" height="28"><div align="center">会议名称:</div></td><td><input class="input2" type="text" name="meeting_name" /></td><td align="left" width="180"><span class="spl">*填写会议记录名称</span></td></tr><!-- 省略部分代码 --><tr><td height="28"><div align="center">出席人员:</div></td><td><input class="input2" type="text" name="meeting_present" /></td><td align="left" width="180"><span class="spl">*填写会议出席人员</span></td></tr><tr><td height="28">上传会议内容</td><td><input class="upload" name="meeting_documents" type="file" size="16" /></td><td align="left" width="180"><span class="spl">*上传txt格式会议文稿</span></td></tr><tr><td><div align="center">会议摘要:</div></td><td height="70"><textarea style="width:170px;border:1px solid #ccc;" name="textarea" rows="4"></textarea></td><td align="left" width="180"><span class="spl">*填写会议记录摘要</span></td></tr><tr><td height="12" colspan="3"></td></tr><td height="30" colspan="2"><center><input class="add_mbtn1" type="submit" value="提交" />&nbsp;&nbsp;&nbsp;&nbsp;<input class="add_mbtn2" type="reset" value="重置" /></center></td></form>
</table>
</body>
</html>

(2)创建addmeeting_chk.php文件,接收表单提交的数据。首先,定义自定义函数用于验证上传文件的格式;然后对上传文件进行验证操作;最后,通过move_upload_file()函数执行文件的上传操作,并且将会议记录添加到指定的数据表中。其关键代码如下:

<?phpheader("Content-Type:text/html;charset=utf-8");date_default_timezone_set('PRC');           // 设置为北京时间session_start();include_once("conn/conn.php");// 判断上传格式是否符合上传要求function f_postfix($f_type,$f_upfiles){$is_pass = false;               // 表示上传的文件格式非法$tmp_upfiles = split("\.",$f_upfiles);          // 返回由文件名和文件后缀组成的数组$tmp_num = count($tmp_upfiles);                 // 返回数组长度$f_typeLen = count($f_type);for($num = 0;$num < $f_typeLen;$num++){$wjhz = $tmp_upfiles[$tmp_num - 1];         // 返回文件后缀if(strtolower($wjhz) == $f_type[$num]){$is_pass = $f_type[$num];              // 文件后缀合法}}return $is_pass;}// 判断是否上传了文件if($_FILES["meeting_documents"]["size"] <= 0){      // $_FILES["meeting_documents"]["size"]返回文件字节大小echo "<script>alert('请上传文件');history.go(-1);</script>";}else{// 如果上传了文件$f_type = array("txt");                         // 定义上传文件的格式$record_path = "upfile";                        // 定义上传路径$fileName = $_FILES["meeting_documents"]["name"];$postf = f_postfix($f_type,$fileName);// 判断上传格式if($postf != false){$new_path = time().".txt";                  // 以时间戳定义上传文件名称// 判断用户上传文件大小是否超过10MBif($_FILES["meeting_documents"]["size"] > 0 and $_FILES["meeting_documents"]["size"] < 1000000){// 定义上传文件在服务端的路径$filepath = $record_path . "\\" . $new_path;        // upfile...$filepath = addslashes($filepath);                  // addslashes函数,防止数据插入数据库时,斜杠被过滤掉echo "文件服务端路径为:".$filepath."<br />";// 数据库操作命令$sqlstrii = "insert into tb_meeting_info(meeting_name,meeting_present,meeting_abstruct,meeting_address)values('$_POST[meeting_name]','$_POST[meeting_present]','$_POST[textarea]','$filepath)')";// echo $sqlstrii;// 插入数据库if( mysql_query($sqlstrii)){// 上传文件操作// $_FILES["meeting_documents"]["tmp_name"],存储文件在临时目录中使用的文件名。因为文件在上传时,首先要以临时文件的身份保存在临时目录中。move_uploaded_file($_FILES["meeting_documents"]["tmp_name"],$filepath);echo "<script>alert('数据库添加成功!');history.go(-1);</script>";}else{echo "<script>alert('数据库添加失败!');history.go(-1);</script>";}}else{echo "<script>alert('文件大小超过10MB');history.go(-1);</script>";}}else{echo "<script>alert('上传只支持\".txt\"格式的文件');history.go(-1);</script>";}}
?>

会议记录管理系统(4) - 会议记录添加模块相关推荐

  1. 会议记录管理系统(5) -浏览会议记录模块设计

    1.浏览会议记录模块概述 浏览会议记录模块可以说是整个管理系统的核心.其主要功能是通过查询数据库的相关数据,将会议的各种信息输出到浏览器页面中,用户不但可以浏览特定会议的详情,同时也可以对会议内容进行 ...

  2. 会议记录管理系统(6) - 查找会议记录模块设计

    1.查找会议记录模块概述 当添加的会议记录太多时,逐条查找对于使用者是一件十分困难的事情,这时用户可以通过单击"查找会议记录"超级链接切换到会议记录查找页面,在输入查询内容并选择查 ...

  3. 会议记录管理系统(1)

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

  4. 资产管理系统有哪些功能模块和作用

    通过固定资产管理系统对固定资产进行合理管理,提高了管理水平,提高了工作效率,提高了企事业单位的经济效益.资产管理系统V2.0网络精英版适合于3-5人的中小型公司.集团公司某个部门如办公室及仓库.中小学 ...

  5. SpringBoot后台权限管理系统(三)—权限模块

    SpringBoot 后台权限框架搭建(一)-后台框架搭建 SpringBoot后台权限管理系统(二)-前端工程搭建 SpringBoot后台权限管理系统(三)-权限模块 SpringBoot后台权限 ...

  6. 《图书馆管理系统——“借书还书”模块》项目研发阶段性总结

    <图书馆管理系统--"借书还书"模块>项目研发阶段性总结 本次任务完成时间:2021年8月2日-2021年8月10日 完成模块功能:借书还书 一.功能实现 借书还书主要 ...

  7. 图书管理系统之图书管理模块(六)

    图书管理系统之图书管理模块(六) 相关源码下载连接:https://download.csdn.net/download/baidu_39378193/85033291 前言: 1.在区域文件中创建书 ...

  8. java-ArrayList实现一个电商管理系统的商品库存管理模块

    java-ArrayList实现一个电商管理系统的商品库存管理模块 实现一个电商管理系统的商品库存管理模块 商品(Goods)包含如下属性信息: 编号(int no) 商品名(String name ...

  9. linux更新模块,Linux下Nginx的安装、升级及动态添加模块

    系统基于ubuntu server 14.04.4 amd64 安装 第一步 下载并解压Nginx压缩包 从Nginx官网下载Nginx,或者在Linux上执行wget http://nginx.or ...

最新文章

  1. 关于学习Python的一点学习总结(51)
  2. 穿上这件全球首款「隐形衣」,做这条街最「无脸」的仔;阿里给钱给资源,求解AI安全难题...
  3. 数据结构与算法之数组
  4. xcode5.0打包IPA
  5. 漫画:什么是A*寻路算法
  6. MySQL优化(一):表结构优化
  7. Nginx访问403异常问题处理
  8. el-autocomplete判空校验时,第一次点击不通过,再次点击才正常
  9. Git 更安全的强制推送,--force-with-lease
  10. cuda合并访问的要求_【CUDA 基础】4.3 内存访问模式
  11. 《简约之美:软件设计之道》总结
  12. CSDN MarkDown编辑器的使用(原内容)
  13. JAVA各类基础高级面试题和中间件面试题资料
  14. 万圣节头像挂件微信小程序前端
  15. 节选自周国平《风中的纸屑》里的一段话
  16. 笨方法刷博客_C实现
  17. 阿祥Python自学笔记
  18. macmini作为远程服务器,我在用我的 Mac mini 做什么
  19. docker防止fork炸弹
  20. java树型结构数据根据条件移除节点(递归方式)

热门文章

  1. uos应用_UOS指标的应用详解
  2. pass语句|python
  3. 普洛帝表面清洁度检测仪在液压缸行业的简单应用
  4. 登录TOM163VIP邮箱的几种方式,以及常见问题有哪些?
  5. js layui跳转页面_Layui数据表格跳转到指定页的实现方法
  6. python+vue 税务申报系统
  7. vue项目中,js根据文件名后缀,判断文件图片、视频、文档、pdf等类型的方法
  8. 语句摘抄——第26周
  9. 无感FOC算法中解决单电阻采样重构三相电流的难题
  10. mysql8 Record Locks ,Gap Locks, Next-Key Locks实验2 唯一索引和非唯一索引,无索引情况