按规范要求的论文样本.doc_第1页
按规范要求的论文样本.doc_第2页
按规范要求的论文样本.doc_第3页
按规范要求的论文样本.doc_第4页
按规范要求的论文样本.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

密级: JINGGANGSHAN UNIVERSITY本科毕业论文(设计)题目:校园无纸化考试系统的设计与实现 学 院 信息科学与传媒学院 专 业 计算机科学与技术 姓 名 班 级 2006级本(1)班 学 号 指导教师 xxx 起讫时间2009.102010.05 校园无纸化考试系统的设计与实现作者:xxx 2006级本(1)班 指导老师:xxx摘要当前,信息化时代已经悄悄走进人们的生活,自动控制、无纸化自动办公、企业信息化等等都是信息时代的产物,可以说,二十一世纪是一个信息化的世界,人们将跟这二个字眼密不可分,随着信息化的潮流,我们的教育也开始了信息化,几年来关于教育信息化的教研论文不计其数,这说明教育走向信息化是一个必然的过程,同时,教育的信息化必然会出现无纸化的、远程的考试系统,他的出现可以大大促进远程教育的长足发展,真正体现出信息化时代的特色和优点。建立一个安全稳定可靠的基于B/S模式下的考试系统,是当前信息化教育的必须,对信息化教育有着较大的促进作用,因为有远程的教育也就必须有远程的考试,本系统就是在这么一个大的前提下提出的。关键词教学管理平台;考试系统;网络软件;数据库设计Design and Implementation of Database Based on WEB Platform for TeachingAuthor :xxxxx Teacher:xxx Dept. of Computer, Jinggangshan College, Jian,343009,China;Abstract Now, people have aleady stept into information age gradually. Control by automation,office automation without paper, enterprise IT application are all the products of information age. So, the 21st century is a in -formationalized world.People will be closely and inseparably related to this word:information.Along with the tendency,our education is also being more and more inforationalized.These years, there are innumerable education and research discourses about informationalized education. This phenomenon indicates that education will be informationalized without fail.At the same time, informationalized education will bring on WEB Platform,long-range examination system. Its appearance can accelerate the progress of the long rang education. and incarnates the characteristic , excellence of the imformation age.It is necessary to establish a safe,stead and credible examination system that is based on B/S mode. The system may promote the informationalized education.So, my system is put forward under the foregoing premise.Key words Management Platform for Teaching;Test system; Network software; Database design目 录第1章 前言4第2章 软件设计52.1.1 角色定义52.1.2 总体设计52.2 系统结构6第3章 系统功能设计与实现73.1 前台管理73.1.1 考试73.1.2 组卷与阅卷73.1.3 统计分析73.1.4 成绩查询73.2 后台管理模块73.2.1 题库管理73.2.2 用户管理83.2.3 组卷管理83.2.4 考场管理83.2.5 主观题试卷管理83.2.6 考生成绩管理93.2.7 考试数据统计93.2.8 信息管理93.2.9 考场管理93.2.10 系统工具9第4章 数据库结构设计104.1 概念结构设计104.2 系统数据库逻辑结构设计10第5章 模块开发及编码实现145.1 数据库链接代码145.2 实现邮箱合法性检测155.3 实现邮件发送165.4 防止SQl注入代码,保证系统数据的安全175.5 系统出错检测信息175.6 MD5 加密算法20第6章 系统测试276.1 测试内容276.2 测试计划286.2.1 用户登录286.2.2 增加用户306.2.3 考生考权授权316.2.4 试题录入326.2.5 考场监控326.2.6 考场发卷336.2.7 考场收卷336.2.8 成绩公布与封闭336.2.9 成绩查询336.2.10 成绩统计346.2.11 系统参数设置346.2.12 手动组卷366.2.13 考场监控38第7章 用户操作手册397.1 应用系统设计方案397.1.1 概述397.1.2 技术方案特点397.2 性能407.2.1 精度407.2.2 时间特性407.2.3 灵活性407.3 运行环境407.3.1 服务器配置407.3.2 客户机417.4 使用说明417.4.1 安装与初始化417.4.2 系统运行427.4.3 考试系统使用说明42第8章 结束语43主要参考文献43致 谢44第1章 前言在IT技术高速发展的今天,人们利用IT技术开发出了许许多多的网络考试环境,这给考试环境的改革带来了很好的效果,但是,很多网络考试系统功能不统一,也不齐全。数据统计、题型兼容性能不是很良好,组卷策略弱等等不足,仍然不能满足现代考试的要求。因此,需要一种功能更加强大的网络考试系统。无纸化网络考试系统是依据现代考试需求而开发的,是一套基于开放性的考试系统,是可用于组织多学科、大规模统一考试的通用考试和考务系统。整个系统分为前台管理和后台管理两大部分,划分成用户管理、题库管理、试卷管理、考场管理、成绩管理、数据统计、信息管理等六个模块。在前台,考生进行注册、考试、考后成绩查询;监考员组卷,发布考场消息,考试授权或中止,考场监控,评卷,成绩发布等。后台管理模块是本系统的关键部分之一,它是系统维护和信息管理平台。根据现实需要,本系统后台管理功能设计与其它的系统不同。本系统后台管理用户有两类:管理员和监考员。这两类用户使用的系统管理平台都是同一个平台上,只不过权限不同。高级管理员拥有最高权限,普通管理员的权限是除了没有删除高级管理员权限外的所有权限。监考员只拥有管理考生考试信息以及发布信息权限。本系统支持多科目、多题型,更重要的一点是还支持图形的文字并存的题目编辑。本无纸化考试系统,能够适用于各种标准化题型的考试,具有良好的开发性,成卷算法先进;实用性强,保密性好。支持多用户的操作,可供多个学生在网络上同时考试,与其它系统不同的是,该系统将软件开发和题库建设工作分离出来,使各专业教师应用本系统随意地建设题库,此外此系统扩展性好,能满足其它课程标准化考试的要求。命题、组卷、考试、评卷、统计分析;全面的题型支持;提供完善的安全策略;能适应各种考试方式,让组织考试更轻松。本系统采用B/S结构,后台服务器使用Windows2000配置IIS,前端客户端环境只需IE等浏览器。用ASP调用SQL Server 2000 数据库管理系统的存储过程大大减少客户机与服务器之间网络数据传输所需的时间。第2章 软件设计为了使软件开发能够顺利进行,使开发人员对系统各个模块的性能、系统接口、系统开发及运行环境和计算机内部处理的逻辑及物理流程有更清晰的认识,更利于源程序的开发,现对系统的概要设计和详细设计及数据库设计做详细说明。2.1.1 角色定义管理员:系统管理员,监考员,普通管理员。考生:所有参加考试的人员。2.1.2 总体设计本无纸化考试系统从设计者的角度来看包括在线考试、系统管理、成绩查询共三大部分,如图2所示。其中系统管理包括用户管理、题库管理、试卷管理、考场管理、成绩管理、数据统计、信息管理等六个模块,如图3所示。从使用者的角度来看分为前台和后台管理两大部分。后台管理模块是本系统的关键部分之一,它是系统维护和信息管理平台。根据现实需要,本系统后台管理功能设计与其它的系统不同。本系统后台管理用户有两类:管理员和监考员。这两类用户使用的系统管理平台都是同一个平台上,只不过权限不同。高级管理员拥有最终权限,普通管理员的权限是除了没有删除高级管理员权限外的所有权限。监考员只拥有管理考生、考试等功能以及发布信息权限。本系统支持多科目、多题型,更重要的一点是还支持图形的文字并存的题目编辑。2.2 系统结构本系统总体逻辑结构层次划分如图1,图2所示。图1 系统层次图图2用户模块图第3章 系统功能设计与实现3.1 前台管理3.1.1 考试考生开考:考生通过“进入考试”命令,系统在“考生信息表”数据库验证考生的合法性。若为合法便抽取相应的考题传送到考生浏览器端。考虑到考试过程中出现断电、死机等异常情况,可通过该命令重新进入考试,系统将调用上一次的答题环境。3.1.2 组卷与阅卷远程考试组卷:授权教师通过在浏览器中输入相应的组卷参数(主要参数有:试卷标题、考试时间、总题数、满分值、曝光时间、考察的知识点,平均难度、平均区分度、题型结构等),系统自动组出一份符合要求的试卷及其标准答案。远程联机阅卷:授权教师通过网络批改学生考过的试卷。教师登录后,选择要批阅的试卷,再选择参加考试的学生,调出该学生的考卷及答案,客观题由系统自动判别,非客观题由教师判定给分,教师确认提交后,得分情况便存入学生的档案之中。3.1.3 统计分析 试卷分析报告:包括试卷的难度、区分度;考生群体的最高分、最低分、各个分数段的积累人数、平均分。3.1.4 成绩查询试卷分析报告:包括试卷的难度、区分度;考生群体的最高分、最低分、各个分数段的积累人数、平均分。3.2 后台管理模块3.2.1 题库管理远程试题提交:授权教师通过网络向题库加入试题。 题库管理功能是后台管理功能的一个重要部分。本系统题库管理主要是题目录入、修改、查看、删除。题目的录入有批量和单题录入两种,其中单题录入支持图片与文本两种,批量只支持文本,当用单题录入方式添加题目时,首先要设置好参数。题目的类型有主观题和客观题,客观题的每道题参数有”科目、题型、题目、选项、以及正确答案”,而主观题有”科目、题型、题目、正确答案”。当采用批量方式录入题目时,准备批量录入题库的题目撰写格式要符合本系统的格式。对不满意的题目还可以进行修改,或者删除,其中删除方式有批量删除和单题删除两种。试题的增、查、删、改:在试题库中添加试题,有两种方式。单题录入方式,按预置的试题格式一道一道地填写。批量录入方式,将多道试题按预定的格式形成一个TXT文件,由录入程序一次性的录入题库;用户在查询界面中输入试题查询参数(包括试题中所有的属性参数,并可实现逻辑组合),查出符合条件的试题,供后续修改或删除处理。 预置组卷策略:对于一些常见的考试组卷,可以预置一些常用的组卷策略,教师组卷时可以选择现成的组卷策略,无需重复输入复杂的参数便可组卷。3.2.2 用户管理用户管理主要有管理员用户管理、监考员用户管理以及考生用户管理三大类。管理员用户管理和监考员用户管理的实现方法一样。这里主要讲解考生用户管理。(1)添加学生为了安全起见,本系统的所有学生用户只能通过后台添加。监考员或管理员随时可以以班级为单位添加学生。这里要注意”学生”和”考生”两个概念,学生是考生资源库,它没有任何的权限,而考生是由监考员授权后演变来的,是具有考试权限的用户。学生添加后管理员和监考员可以查看、修改和删除学生资料。(2)考试授权每一次考试,学生只有得到监考员考试授权后方可参加考试。学生被授权考试之后,如果出现作弊等现象,监考员还可以停止、恢复以及删除考试权限。如果考生在考试的过程中其考试权限被监考员停止或删除,则其考试记录将不会被记录。3.2.3 组卷管理组卷管理是用于监考员专门管理自已试卷的功能,每个监考员都可通过这个功能来实现考试试卷的生成。组卷有手动和自动两种,使用手动方式组卷时监考员可以根据自己的要求去选取题目,但是采用手动组卷方式生成的试卷不能修改,如果发现生成的试卷有误,监考员只有删除后重新组卷,所以采用手动组卷方式要花一定的时间。而采用自动方式组卷监考员只要设定好它的参数就可以快速组出试卷,但是组出来的试卷题目监考员无法知道,同时在考试试卷调出过程中大大增加了服务器的读写程度。3.2.4 考场管理每场考试都要经过发卷以后考生才能进入考场参加考试,发卷以后监考员可以进入监控页面进行监控,监控页面每分种更新一次,监考员可以通过页面知道考场的情况。考试终了时间到,监考员通过收卷停止本场的考试,未参加考试的考生分数将被置零。3.2.5 主观题试卷管理此功能是用于监考员批阅考生主观试题。它属于半自动改卷功能。每一场考试试卷如果有主观题,那么试卷提交后系统会为每一位考生生成一个主观答卷。交卷后监考员可以通过此功能来查看、批阅考生的主观题答卷。在批改的过程中,只要监考员给出每道时的分数,系统会自动地根据监考员给出的分数求和,然后存入相应考生主观题的分数档案中。3.2.6 考生成绩管理考生成绩管理有考生成绩表、公布/封闭考生成绩、搜索考生成绩、删除考生过时成绩四个功能。每一场考试后,考生不能直接知道自己的成绩,而只有等到监考员公布成绩后方能进入系统查询。监考员可以通过这个功能来管理考生的考试成绩。3.2.7 考试数据统计此功能是对考试后的情况进行统计,通过统计的数据可以了解每一场考试的考生参加考试情况以及成绩分布情况,从而快速掌握考生的学生情况.3.2.8 信息管理系统的首页有一个公告栏,这公告栏的信息都是从后台发布出去的,后台用户可以通过这个功能发布最新信息。同时也可通过这个功能修改和删除已经发布过的信息。3.2.9 考场管理考试模块是本系统的核心的、必要的功能模块,考生的所有考试权限都在这实现。考试模块有两部分组成,一是考生答题模块,一是考生成绩查询模块。考生答题模块也是考生考试的平台。在考试过程中,用户不必担心在考试过程中死机、重启、断电等意外事故,因为本系统具有像word一样的自动保存功能。它实现了在考试过程中,每隔一分钟系统会自动地为考生保存最近的答题数据,考生也可以像操作word一样手动保存。这样,如果发生意外,考生重新登录系统时,系统会自动的调出最近保存的那份答卷。当考试终了时间还差15分钟时,系统自动提示考生“离交卷还差15分钟,请紧时间答题”。当考试终了时间到时,系统会自动地提交未提交的试卷,并且自动批改客观题并将批改后的总分存入学生当场考试成绩档案中,同时如果当场试卷的主观题,系统还自动地为每一位考生生成并保一份主观答卷,以供监考员批改。3.2.10 系统工具系统设置:设置一些影响系统运行的全局参数,如题型、难度分布表等。 退出系统:退出题库系统,若退出后,还需继续使用本题库,需要重新登录。第4章 数据库结构设计4.1 概念结构设计表1 数据表清单表名说明系统用户信息表admin用于存储系统管理员的数据teacher用于存储监考员的数据student学生资料库adstudent考生资料库sys_pwd用户初始化密码表mystudent具有注册权限考生数据myclass具有注册权限的单位数据answer考生考试分数系统基本配置参数表class系统班级表exam_name系统考试名称表kskm系统考试科目表totalmge存储首页信息显示记录数mge系统信息表zhujuan组卷参数数据库timu题库表temp_timu临时题库表4.2 系统数据库逻辑结构设计表2 admin管理员信息表字段名数据类型长度备注ID自动编号标识符用户名文本50系统管理员姓名(昵称)管理员帐号文本50管理员登录系统标识,只能为数字密码文本50管理员登录系统通道密码,对它采用MD5技术加密帐号类型是否用于识别管理员权限的高低,分为高级和普通两类授权管理员文本50每个管理在生成新的一个管理员时,都要在此存放它的帐号,以严格管理表3 teacher监考员信息表字段名数据类型长度备注ID自动编号4管理监考员标识唯一用户名文本50监考员姓名(昵称),不唯一监考员帐号文本0监考员系统登录验证号,唯一密码文本50监考员系统登录验证密码,唯一表4 student 考生信息表字段名数据类型长度备注ID自动编号4管理考生标识,唯一考生姓名文本50考生姓名(昵称),不唯一准考证号文本50考生登录系统验证码考生班级文本50考生所在单位考生年龄文本50考生年龄考生性别文本50考生性别电子邮箱文本50考生电子邮箱考生籍贯文本50考生籍贯考生密码文本50考生系统登录验证密码考生相片备注不限存放考生相片表5 adstudent 具有考权的学生资源库字段名数据类型长度备注ID自动编号4管理考生标识符考生姓名文本50考生姓名(昵称)准考证号文本50考生登录系统验证码考生班级文本50考生所在单位考试名称文本50考生名称准考日期日期/时间准考日期,考生只能在规定的时期内考生,过期示能再考考试状态数字4用于判断考生考试状态,有未考、正在考、和已经考三种表6 class系统班级表字段名数据类型长度备注ID自动编号4表关键字段,用于操作表班级文本50系统班级名称,唯一表7 kskm考试科目字段名数据类型长度备注ID自动编号4表关键字段,用于操作表Kskm文本50考试科目名称系统类型文本50科目存放系统类型,有系统默认、新增科目两表8 exam_name 考试名称字段名数据类型长度备注ID自动编号4表关键字段,用于操作表考试名称文本50每次考试的名称(比如:2003年期末考试)表9 totalmge 存储首页信息显示记录字段名数据类型长度备注ID自动编号4关键字段,用于操作记录显示条数数字4用于设置系统首页信息显示记录数表10 mge 系统信息表字段名数据类型长度备注ID自动编号4关键字段,用于操作记录标题文本50信息标题内容备注信息内容级别数字4信息显示级别发布日期日期/时间信息发布时间表11 zhujuan 组卷参数数据库字段名数据类型长度备注ID自动编号4关键字段,用于操作记录kskm文本50考试科目exam _name文本50考试名称ks_date日期/时间考试日期start_time日期/时间开考时间end_time日期/时间结束时间ti_total数字4总题数fen_total数字4总分ti_score备注每种题型的评分准标ti_yaoqiu备注题目要求timu_total文本50每种题型的题量zhishi备注考察知识点zjfs是/否组卷方式ti_name备注试卷题型ti_type备注题目类型tp数字4题型总数zt数字4状态表12 timu 题库表字段名数据类型长度备注id自动编号4关键字段名,题目管理标识符kskm文本50考试科目ti_type文本50题目分类(单项选择题多项选择题、重新排序题、数据填写、判断是非)timu备注题目内容xuan数字4客观题选择项数xishu文本50难度系数daan备注正确答案表13 temp_timu 临时题库表字段名数据类型长度备注id自动编号4关键字段名,题目管理标识符kskm文本50考试科目exam_name文本50考试名称ks_date日期/时间考试日期tixing文本50题型timu备注题目xuan数字4选项daan备注答案表14 sys_pwd 初始化密码表字段名数据类型长度备注ID自动编号4关键字段名,记录管理标识符ad_pwd文本50管理员密码初始化数据st_pwd文本50考生密码初始化数据te_pwd文本50监考员密码初始化数据表15 mystudent 具有注册权限的单位数据字段名数据类型长度备注ID自动编号4关键字段名,记录管理标识符考生班级文本50具有前台注删除功能的单位名称注册权限码文本50具有前台注删除功能的注册码表16 answer 考生考试分数字段名数据类型长度备注User_ID自动编号4关键字段名,记录管理标识符改卷员帐号文本50监考员帐号考生姓名文本50考生姓名考试名称文本50考试名称准考证号文本50准考证号准考日期日期/时间准考日期考生班级文本50考生所在班级客观题分数字4客观题分主观题分数字4主观题分总分数字4总分状态数字41表示成绩开放0表示封闭表17 myclass 具有注册权限的单位数据字段名数据类型长度备注ID自动编号4关键字段名,记录管理标识符班级文本50具有前台注册权的单位名称第5章 模块开发及编码实现5.1 数据库链接代码%dim sqltype数据库链接类型sqltype=01为SQL-server链接,0为Access链接,否则数据库链接报错if sqltype=1 thenDim StrServer,StrUid,StrSaPwd,StrDbNameStrServer=(local) 数据库服务器名StrUid=exam 您的登录帐号StrSaPwd=exam 您的登录密码StrDbName=exam 您的数据库名称Dim Conn 数据库连接Dim StrDSN 数据库连接字符串StrDSN=driver=SQL server;server=&StrServer&;uid=&StrUid&;pwd=&StrSaPwd&;database=&StrDbName建立和数据库exam的连接set Conn = Server.CreateObject(ADODB.Connection) Conn.Open StrDSNelseif sqltype=0 thenSet conn=Server.CreateObject(ADODB.Connection) conn.Open(driver=Microsoft Access Driver (*.mdb);dbq=&Server.MapPath(timu/temp.asa)elseresponse.write 对不起!数据库链接错误!end ifset rs=server.createobject(adodb.recordset)%5.2 实现邮箱合法性检测%function checkEmail(email)checkEmail=truenames = Split(email, )if UBound(names) 1 then checkEmail = false exit functionend iffor each name in names if Len(name) = 0 then checkEmail = false exit function end if for i = 1 to Len(name) c = Lcase(Mid(name, i, 1) if InStr(abcdefghijklmnopqrstuvwxyz_-., c) = 0 and not IsNumeric(c) then checkEmail = false exit function end if next if Left(name, 1) = . or Right(name, 1) = . then checkEmail = false exit function end ifnextif InStr(names(1), .) = 0 then checkEmail = false exit functionend ifi = Len(names(1) - InStrRev(names(1), .)if i 2 and i 3 then checkEmail = false exit functionend ifif InStr(email, .) 0 then checkEmail = falseend ifend function%5.3 实现邮件发送function art(w,cause) if w=1 then response.write &cause&-&time()& else response.write window.alert(&cause&);history.back() end if end functionfunction sendtomail(Youname,emailloginname,frommail,mailserverpassword,tomail,mailsubject,mailbody,smtpname,dai) dim fromuser,mailaddress -检测邮件必要元素是否为空- if trim(frommail)=empty then call art(dai,发件人邮箱为空!) exit function elseif trim(tomail)=empty then call art(dai,收件人邮箱为空!) exit function elseif trim(mailserverpassword)=empty then call art(dai,发件人邮箱登录密码为空!) exit function elseif trim(mailsubject)=empty then call art(dai,邮件主题为空!) exit function elseif trim(mailbody)=empty then call art(dai,邮件内容为空!) exit function elseif trim(emailloginname)=empty then call art(dai,发件人邮箱登录名为空!) exit function call art(dai,Youname名称为空!) exit function end if5.4 防止SQl注入代码,保证系统数据的安全 0 or Instr(LCase(ParaValue),insert) 0 or Instr(LCase(ParaValue),delete from) 0 or Instr(LCase(ParaValue),count() 0 or Instr(LCase(ParaValue),drop table) 0 or Instr(LCase(ParaValue),update) 0 or Instr(LCase(ParaValue),truncate) 0 or Instr(LCase(ParaValue),asc() 0 or Instr(LCase(ParaValue),mid() 0 or Instr(LCase(ParaValue),char() 0 or Instr(LCase(ParaValue),xp_cmdshell) 0 or Instr(LCase(ParaValue),exec master) 0 or Instr(LCase(ParaValue),net localgroup administrators) 0 or Instr(LCase(ParaValue), and ) 0 or Instr(LCase(ParaValue),net user) 0 or Instr(LCase(ParaValue), or ) 0 thenSafeRequest=0elseSafeRequest=ParaValueEnd IfEnd function%5.5 系统出错检测信息%sub Save_err(err_rows,err_title,err_about) 事件记录函数 参数1行数,参数2事件标题, 参数3 事件介绍if err.number0 then Dim Matter,MatterIP,formUrl,server_name,script_name,QUERY_STRING,FsUrl,MatterUser,Mattersql matterip=get_ips() formUrl=Cstr(Request.ServerVariables(HTTP_REFERER)上一页的提交地址 If formUrl= Then formUrl=直接从书签导入或手工输入 End IF server_name=request.servervariables(server_name)服务器地址 script_name=request.servervariables(script_name)页面名字 QUERY_STRING=Request.ServerVariables(QUERY_STRING)是否带参数 if QUERY_STRING= then FsUrl=http:/&server_name&script_name else FsUrl=http:/&server_name&script_name&?&QUERY_STRING end if MatterUser=session(x_name) If MatterUser= Then MatterUser=游客 End IF dbconn Set Matter = Server.CreateObject(ADODB.Recordset) Mattersql=select top 1 * from x_errinfo Matter.open sql,conn,1,3 Matter.AddNew Matter(UserName)=MatterUser用户名 matter(err_rows)=err_rows错误发生的行数Matter(err_title)=err_title错误的标题Matter(err_about)=getstring(err_about)错误介绍Matter(err_id)= Err.numberMatter(err_content)=Err.Description Matter(formUrl)=formUrl上一页的地址Matter(FsUrl)=FsUrl本页的地址Matter(formIP)=MatterIP浏览者的ip Matter(Fstime)=now()时间 Matter.Update Matter.Close set Matter=nothingerr.clearend ifend sub%if checkEmail(frommail)=false then call art(dai,发件人邮箱格式不对!) exit function elseif checkEmail(tomail)=false then call art(dai,收件人邮箱格式不对!) exit function end if-邮件发送过程代劳- set jmail=server.createobject(Jmail.message)jmail.silent=truejmail.charset=gb2312if Youname=empty thentemp=split(frommail,)Youname=temp(0)end ifjmail.fromname=Youname 这里是发件人名称,可以从数据库或表单中取值jmail.from=frommail 这里是发件人邮箱,可以从数据库或表单中取值,但格式一定要正确jmail.addrecipient tomail给邮件添加一个收件人jmail.subject=mailsubject 该值可以从数据库或表单中取值jmail.AppendHTML(mailbody)以html格式发送邮件正文jmail.mailserverusername=emailloginname 邮件发送服务器登录名称jmail.mailserverpassword=mailserverpassword 邮件发送服务器登录密码JMail.ReturnReceipt = trueJMail.Priority =3jmail.maildomain= 邮件发送服务器域名if len(smtpname)=7 thentemp=split(frommail,)smtpname=smtp.&temp(1)elsesmtpname=smtpnameend ifsendok=jmail.send(smtpname) smtp服务器名称if sendok then if dai=2 then set rss=server.createobject(adodb.recordset) sqlt=select * from answer where user_id=&ID rss.open sqlt,conn,3,2 if not rss.eof and not rss.bof then rss(邮件发送状态)=true rss.update end if rss.close() set rss=nothing call art(dai,发送成功,收件人:&tomail) else call art(dai,发送成功,收件人:&tomail) end if elsecall art(dai,发送失败,请认真检查您的输入信息是否有误!)end ifJMail.Close()JMail.ClearRecipientsset jmail=nothing end function 5.6 MD5 加密算法%Private Const BITS_TO_A_BYTE = 8Private Const BYTES_TO_A_WORD = 4Private Const BITS_TO_A_WORD = 32Private m_lOnBits(30)Private m_l2Power(30) Private Function LShift(lValue, iShiftBits) If iShiftBits = 0 Then LShift = lValue Exit Function ElseIf iShiftBits = 31 Then If lValue And 1 Then LShift = &H80000000 Else LShift = 0 End If Exit Function ElseIf iShiftBits 31 Then Err.Raise 6 End If If (lValue And m_l2Power(31 - iShiftBits) Then LShift = (lValue And m_lOn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论