大学WEB数据库技术应用教程-王承君-PPT文稿资料课件PPT
收藏
资源目录
压缩包内文档预览:(预览前20页/共92页)
编号:21836379
类型:共享资源
大小:15.89MB
格式:ZIP
上传时间:2019-09-06
上传人:QQ24****1780
认证信息
个人认证
王**(实名认证)
浙江
IP属地:浙江
25
积分
- 关 键 词:
-
大学
web
数据库技术
应用
利用
运用
教程
王承君
ppt
文稿
资料
课件
- 资源描述:
-
大学WEB数据库技术应用教程-王承君-PPT文稿资料课件PPT,大学,web,数据库技术,应用,利用,运用,教程,王承君,ppt,文稿,资料,课件
- 内容简介:
-
第12章 项目实战:新闻动态发布管理系统,本章学习目标 通过开发一个网站新闻管理系统实例的过程,使读者对Web数据库应用系统的开发流程和设计思路有一个整体的认识。 Web数据库应用的开发过程 ASP应用开发常用技巧,12.1 系统需求,12.1.1 需求调查 某企业现有一个内部新闻发布管理网站,是基于静态HTML页面管理形式的。更新信息时需要重新制作页面然后上传页面并修改相应链接,维护比较因难,效率太低。因此该企业要求建立一个动态的新闻管理发布系统网站,通过应用程序来自动处理新闻,提高新闻时效和工作效率。,客户需求概括起来主要有以下几点,(1)发布新闻的简便性和时效性。对于新闻的发布,企业希望能够简化方式,最好是用一种身份控制下的人人会做的方式来完成。 (2)提高管理效率。随着企业规模的扩大,网站的更新越来越频繁,网站管理员的工作量越来越大。因此希望能通过技术手段,降低网站管理员的劳动强度,让管理员将更多的精力投入到系统管理上。 (3)原来的页面对于新闻的修改不太方便,要从大量的页面中找到需要修改的页面,再通过ftp下载修改后再次上传,操作上十分不便,希望能简化这种繁琐的方式。 (4)用户能方便地浏览和检索信息。 另外,对于新闻管理系统要求有一定的安全性。,12.1.2 需求分析,通过对该企业的需求调查,企业进行程序开发的目的就是为了完善其网站的新闻管理系统,希望新的系统能够提高效率和降低劳动成本。因此我们为其决定开发一套ASP+Access的新闻动态发布管理系统,并通过设置以下功能模块来满足客户的要求。,需求分析,(1)身份验证:该模块负责将用户分为普通用户和管理用户来实现用户权限的管理,普通用户不需要登录,只能浏览;管理用户可以对网站新闻进行增删改操作。这也是保证网站信息安全的手段之一。 (2)新闻浏览:该模块负责按发布时间顺序分页列出网站所有新闻的信息,包括标题、类型、来源部门及发布日期,每条新闻标题被做成一个超链接,单击它们就能弹出新页面进行新闻阅读。,需求分析,(3)新闻阅读:单击新闻标题即进入新闻阅读页面,此时,每条新闻的详细信息将被取出,包括内容、标题、图片等,并按照相对固定的格式放置在页面的不同区域,所有新闻使用大致相同的页面布局,只是各字段对应的内容不同而已。另外,页面其他位置,可以动态放置其他元件,如网站标志logo、页面广告banner等链接图片,这样可以很容易地实现图文并茂的阅读效果。,需求分析,(4)新闻查询:该模块提供新闻查询功能,输入待查找的内容的关键字可以快速地查找到符合条件的新闻,并输出查询结果。 (5)新闻管理:该模块负责管理发布新闻信息,已通过验证的管理用户可以对新闻进行发布、删除、修改等。 (6)图片插入:部分新闻要求有图片插入,但图片不能存为文件格式,要求直接存到数据库中,便于日后与其他系统进行数据交换。,12.1.3 功能层次图,通过对客户的需求分析后,确定该系统总共有两个角色:普通用户和管理用户。普通用户是一般的网站浏览者,可以进行浏览和搜索权限;管理用户也具有浏览和搜索权限,同时还具有添加、删除和修改网站新闻的权限。具体的功能层次图绘制如图12-1所示。,功能层次图,12.2 系统设计,12.2.1 网站结构图 Web应用以目录形式体现网站结构,本系统的详细结构如图12-2。在图12-2中,CSS、IMAGES、INC、Data四项为文件夹,CSS文件夹放置网站的样式表;IMAGES文件夹放置图片文件;INC文件夹放置一些公用的函数文件,Data文件夹放置数据库文件。左边的Default.ASP到UBB.ASP部分是放置普通用户用于浏览的Web窗体。右边的LOGIN.ASP到UPLOAD.ASP部分是管理用户使用的Web窗体。这里我们把大多数ASP文件都放在了根目录下。如果窗体数量比较多,还是建议大家依据某种规律精心设置系统的目录结构,方便网站的维护。如依据系统功能分别为每一个功能建一个目录,将公共的窗体放在根目录下。,网站结构图,12.2.2 数据库设计,在详细研究了应用程序的需求后,就可以开始数据库设计。在这个阶段,要根据前面列出的模块确认数据库表以及它们之间的关系,以最终确定数据库模式。本系统存放新闻资料的库表NEWS结构如表12-1所示。,News表结构,列名数据类型长度必填字段允许为空值Articleid(编号)自动编号16是否Title(标题)文本 60是否content(内容)备注否是Dateandtime(录入时间) 日期/时间8是否Img(图片) OLE 对象否是size(图片大小) 数字16否是,News表结构,字段Articleid是整个表的主键ID,字段类型为自动编号,由1开始,每加一条系统自动增1,无需人工控制。 字段Title是新闻标题,最多60个字符(30个汉字),新闻标题不能为空。 字段content是新闻的内容,内容大小不受限制。 字段Dateandtime是录入新闻的时间、时间类型。 字段Img是此条新闻的图片,将图片以二进制的形式存入数据库。 字段size是图片的大小,如果为0,表示无图片。 对于复杂的数据库设计,需要用到建模工具。比较优秀的建模工具有:PowerDesigner和Erwin。一般的,我们可以使用PowerDesigner。,12.3 Web窗体设计和编码实现,编码过程就是用具体的语言来实现系统功能的过程,ASP默认使用的是VBScript脚本语言。在下面的代码中除包含服务器端脚本外也包含一些客户端脚本代码。系统的开发是在MicroMedia DreamWveaver4.0环境下完成的,包括窗体设计和脚本代码。,12.3.1 公共代码,1articleCHAR.INC文件 articleCHAR.INC文件用于在保存新闻内容时,将“空格”、“”、“换行”等特殊符号替换成HTML形式,主要是为了保证原有的文本格式在HTML网页上显示出来时的格式保持原样,该文件在INC目录下。,articleCHAR.INC的代码,“ result=result+“ case chr(13) result=result+“,articleCHAR.INC的代码,case chr(34) result=result+“ else result=result+“ “ end if,articleCHAR.INC的代码,else result=result+“ end if case chr(9) result=result+“ “ case else result=result+mid(str,i,1) end select next htmlencode2=result end function %,2STYLE.CSS文件,STYLE.CSS文件是系统的样式表文件,用于格式化系统每个页面显示时的样式,使页面的风格整齐统一,该文件位于CSS目录。STYLE.CSS文件的代码如下: td font-family: “宋体“;line-height:150%; font-size: 9pt body font-family: “宋体“;line-height:150%; font-size: 9pt select font-family: “宋体“;line-height:150%; font-size: 9pt A text-decoration: none; color: 0000C0; font-family: “宋体“; font-size: 9pt A:hover text-decoration: underline; color: blue; font-family: “宋体“; font-size: 9pt,3UBB.ASP文件,UBB.ASP文件是显示时的替换文件,用于保留存库前的格式,该文件位于根目录。 UBB.ASP文件的部分代码如下: function changechr(str) changechr=replace (replace(replace(replace(str,“,“) end function 此外UBB.ASP文件包括许多常用的公共函数。本系统中只用到了changechr(str)函数,此函数是用replace将字符替换。,4IMGOUT.ASP文件,IMGOUT.ASP文件是图片显示文件,本系统中的图片是以二进制形式保存在数据库中,所以在显示时就需要IMGOUT.ASP提供的方法将其转换成图片显示在网页上,该文件位于根目录。,IMGOUT.ASP文件,IMGOUT.ASP文件的部分代码如下: IMGOUT.ASP文件在使用时的形式如下: “,5Articleconn.asp 文件,Articleconn.asp文件是数据库的连接文件,该文件位于系统主目录下。 Articleconn.asp文件的部分代码如下: on error resume next connstr=“DBQ=“+server.mappath “ set conn=server.createobject(“ADODB.CONNECTION“) conn.open connstr Articleconn.asp文件是系统中最常用的文件,它提供了连接数据库的方法,所有需要存取数据库的文件,都会引用该文件。其作用在于,如果要更换数据库文件或类型,只需修改该文件就可以了。引用这个文件的格式如下: ,6ChkLogin.ASP 文件,用户通过登录界面Login.asp输入用户名和密码后,就会通过此文件验证身份有效性,如果无效则提示错误并返回重新输入;如果真实有效则会导引至Manage.asp,进行系统管理,该文件位于系统主目录下。 ChkLogin.ASP文件的部分代码如下: % username=request.form(“username“) password=request.Form(“password“) if username=“ then response.redirect “./login.asp“ end if if password=“ then response.redirect “./login.asp“ end if,ChkLogin.ASP 文件,if username=“admin“ and password=“admin“ then response.cookies(“hdok“)=“good“ response.redirect “manage.asp“ else % MsgBox “错误:验证失败,请返回检查!“ location.href = “javascript:history.back()“ username=request.form(“username“)和password=request.Form(“password“)获取到用户输入的用户名和密码,赋值给username 和password两个变量。再通过username=“和password=“来确定是否输入的是空值,如果为空,就通过response.redirect “./login.asp“将页面转至Login.ASP窗口,重新输入。,ChkLogin.ASP 文件,其后的if username=“admin“ and password=“admin“ then是验证的主体,确认输入的用户名和密码是不是admin,如果是则将名为hdok的cookies值设为good,即response.cookies(“hdok“) =“good“,并转向Manage.ASP,否则会弹出窗口提示“验证失败”,返回登录界面,重新输入。注意,本系统没有把用户信息保存在数据库。,7Upload.ASP 文件,该文件包含一些函数,用于以二进制形式获取客户端提交的数据,本系统主要为了获取客户端提交的图片文件数据。该文件存放在系统主目录,代码如下: Function GetUpload(FormData) Dim DataStart,DivStr,DivLen,DataSize,FormFieldData 分隔标志串(+CRLF) DivStr = LeftB(FormData,InStrB(FormData,str2bin(VbCrLf) + 1) 分隔标志串长度 DivLen = LenB(DivStr) PosOpenBoundary = InStrB(FormData,DivStr) PosCloseBoundary = InStrB(PosOpenBoundary + 1,FormData,DivStr) Set Fields = CreateObject(“Scripting.Dictionary“) While PosOpenBoundary 0 And PosCloseBoundary 0,Upload.ASP 文件,name起始位置(name=“xxxxx“),加6是因为name=“长度为6 FieldNameStart = InStrB(PosOpenBoundary,FormData,str2bin(“name=“) + 6 (“)的ASC值=34 FieldNameSize = InStrB(FieldNameStart,FormData,ChrB(34) - FieldNameStart FormFieldName = bin2str(MidB(FormData,FieldNameStart,FieldNameSize) filename起始位置(filename=“xxxxx“) FieldFileNameStart = InStrB(PosOpenBoundary,FormData,str2bin (“filename= “) + 10 If FieldFileNameStart PosopenBoundary Then FieldFileNameSize = InStrB(FieldFileNameStart,FormData,ChrB(34) FieldFileNameStart,Upload.ASP 文件,FormFileName = bin2str(MidB(FormData,FieldFileNameStart, FieldFileNameSize) Else FormFileName = “ End If Content-Type起始位置(Content-Type: xxxxx) FieldFileCTStart = InStrB(PosOpenBoundary,FormData,str2bin(“Content- Type:“) + 14 If FieldFileCTStart PosOpenBoundary Then FieldFileCTSize = InStrB &_ (FieldFileCTStart,FormData,str2bin(VbCrLf & VbCrLf) - FieldFileCTStart FormFileCT = bin2str(MidB(FormData,FieldFileCTStart,FieldFileCTSize),Upload.ASP 文件,Else FormFileCT = “ End If 数据起始位置:2个CRLF开始 DataStart = InStrB(PosOpenBoundary,FormData,str2bin(VbCrLf & VbCrLf) + 4 If FormFileName “ Then 数据长度,减1是因为数据文件的存取字节数问题(可能是AppendChunk方法的问题): 由于字节数为奇数的图像存到数据库时会去掉最后一个字符导致图像不能正确显示, 字节数为偶数的数据文件就不会出现这个问题,因此必须保持字节数为偶数,Upload.ASP 文件,DataSize = InStrB(DataStart,FormData,DivStr) - DataStart - 1 FormFieldData = MidB(FormData,DataStart,DataSize) Else 数据长度,减2是因为分隔标志串前有一个CRLF DataSize = InStrB(DataStart,FormData,DivStr) - DataStart - 2 FormFieldData = bin2str(MidB(FormData,DataStart,DataSize) End If 建立一个Dictionary集存储Form中各个Field的相关数据 Set Field = CreateUploadField() Field.Name = FormFieldName Field.FilePath = FormFileName Field.FileName = GetFileName(FormFileName) Field.ContentType = FormFileCT Field.Length = LenB(FormFieldData) Field.Value = FormFieldData,Upload.ASP 文件,Fields.Add FormFieldName, Field PosOpenBoundary = PosCloseBoundary PosCloseBoundary = InStrB(PosOpenBoundary + 1,FormData,DivStr) Wend Set GetUpload = Fields End Function 把二进制字符串转换成普通字符串函数 Function bin2str(binstr) Dim varlen,clow,ccc,skipflag 中文字符Skip标志 skipflag=0 ccc = “,Upload.ASP 文件,If Not IsNull(binstr) Then varlen=LenB(binstr) For i=1 To varlen If skipflag=0 Then clow = MidB(binstr,i,1) 判断是否中文的字符 If AscB(clow) 127 Then AscW会把二进制的中文双字节字符高位和低位反转,所以要先把中文的高低位反转 ccc =ccc & Chr(AscW(MidB(binstr,i+1,1) & clow) skipflag=1 Else ccc = ccc & Chr(AscB(clow) End If,Upload.ASP 文件,Else skipflag=0 End If Next End If bin2str = ccc End Function 把普通字符串转成二进制字符串函数 Function str2bin(varstr) str2bin=“ For i=1 To Len(varstr) varchar=mid(varstr,i,1) varasc = Asc(varchar),Upload.ASP 文件,asc对中文字符求出来的值可能为负数,加上65536就可求出它的无符号数值。-1在机器内是 用补码表示为0xffff,其无符号值为65535,65535=-1+65536,其他负数依次类推 If varasc255 Then varlow = Left(Hex(Asc(varchar),2) varhigh = right(Hex(Asc(varchar),2) str2bin = str2bin & chrB(“&H“ & varlow) & chrB(“&H“ & varhigh) Else str2bin = str2bin & chrB(AscB(varchar) End If Next End Function 取得文件名(去掉Path),Upload.ASP 文件,取得文件名(去掉Path) Function GetFileName(FullPath) If FullPath “ Then FullPath = StrReverse(FullPath) FullPath = Left(FullPath, InStr(1, FullPath, “) - 1) GetFileName = StrReverse(FullPath) Else GetFileName = “ End If End Function function CreateUploadField() return new uf_Init() function uf_Init() this.Name = null this.FileName = null this.FilePath = null this.ContentType = null this.Value = null this.Length = null ,12.3.2 主窗体页面Default.ASP,Default.ASP文件,新闻浏览主界面,主要完成新闻搜索和分页显示功能。该文件在系统主目录下,代码如下: “ then 如果有搜索字符串,形成搜索条件 sousuo1=“Where Title like %“& sousuo &“% “ else 如果没有搜索字符串 sousuo1=“ end if %,12.3.2 主窗体页面Default.ASP,XX公司新闻管理系统 function popwin2(id,path) window.open(“Viewarticle.ASP?id=“+id,“,“height=450,width=600,resizable=yes,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no“); XX公司新闻管理,主窗体页面Default.ASP, ,主窗体页面Default.ASP, 显示当前日历 tmpDate = new Date(); date = tmpDate.getDate(); month= tmpDate.getMonth() + 1 ; year= tmpDate.getYear(); document.write(year); document.write(“年“); document.write(month); document.write(“月“); document.write(date); document.write(“日 “); myArray=new Array(6);,主窗体页面Default.ASP,myArray=new Array(6); myArray0=“星期日“; myArray1=“星期一“; myArray2=“星期二“; myArray3=“星期三“; myArray4=“星期四“; myArray5=“星期五“; myArray6=“星期六“; weekday=tmpDate.getDay();,主窗体页面Default.ASP,if (weekday=0 | weekday=6) document.write(myArrayweekday) else document.write(myArrayweekday); / 搜索引擎: input type=“text“ name=“sousuo“ value=“%,主窗体页面Default.ASP,if sousuo“ then Response.Write sousuo else Response.Write “请输入关键字“ end if %“ onmouseover=if(this.value=“请输入关键字“)this.select(); maxlength=“16“ %,主窗体页面Default.ASP,dim sql dim rs 实例 dim totalPut 总记录数 dim CurrentPage 当前页 dim TotalPages 总页数 dim i,j dim errmsg MaxPerPage=10 每页10条记录 founderr=false 建立与数据库的连接并读取数据 Set rs= Server.CreateObject (“ADODB.RecordSet“) sql = “select Articleid,Title,Dateandtime,size from news “ sql=sql & sousuo1 &“order by Articleid desc“ rs.open sql,conn,1,1,主窗体页面Default.ASP,if rs.bof then errmsg=errmsg+“+“还没有记录,请返回!“ founderr=true call error() response.end end if 对显示内容进行分页 rs.MoveFirst 到第一条记录 rs.pagesize=MaxPerPage 定义每页记录数 If trim(Request(“Page“)“ then CurrentPage= CLng(request(“Page“) If CurrentPage rs.PageCount then CurrentPage = rs.PageCount Else,主窗体页面Default.ASP,CurrentPage= 1 End If totalPut=rs.recordcount totalput=总记录数 if CurrentPage1 then if (current1)*MaxPerPage ,主窗体页面Default.ASP, 当前位置:首页 页数:/ ,主窗体页面Default.ASP, 编 号 标 题“,主窗体页面Default.ASP,&rs(“Title“)& “ if rs(“size“)0 then response.write “ (图)“ response.write “ response.write “ & rs(“Dateandtime“) & “ Response.Write “ i=i+1 rs.movenext loop % %,主窗体页面Default.ASP,页面之间浏览 dim n,k n表示总页数 if (totalPut mod MaxPerPage)=0 then n= totalPut MaxPerPage else n= totalPut MaxPerPage + 1 end if k=currentPage if k1 then response.write “+“首页 “ response.write “+“上一页 “ else Response.Write “首页 上一页“ end if,主窗体页面Default.ASP,if kn then response.write “+“下一页 “ response.write “+“尾页 “ else Response.Write “下一页 尾页“ end if 关闭与数据库的连接 rs.close:set rs=nothing conn.close:set conn=nothing % ,主窗体页面Default.ASP, 联系信箱:webmaster 电话:010-1190000 主办单位:XX集团 承办单位:XX公司信息中心 XX工作室提供技术支持 新闻管理 Copyright©2005 C All Rights Reserved ,主窗体页面Default.ASP,该页面样式如图12-3所示。,12.3.3 显示新闻页面Viewarticle.ASP,Viewarticle.ASP是用来显示某条新闻的详细内容,是新闻内容显示的模板,该文件存放在系统主目录下,代码如下。 ,显示新闻页面Viewarticle.ASP,新闻动态 新闻动态 ,显示新闻页面Viewarticle.ASP, 0 then% “ ,显示新闻页面Viewarticle.ASP, 关闭窗口 示例页面如图12-4所示。,显示新闻页面Viewarticle.ASP,显示新闻页面Viewarticle.ASP,在程序中,如果rs(“size“) 0说明图片的大小大于0,表示有图片,就使用“显示出图片。另外通过将新闻的内容显示出来,并用ubb和changechr函数规范它的格式。,12.3.4 新闻管理Manage.ASP,该页面是管理员对新闻进行管理的主页面,主要完成新闻的录入发布、修改、删除等功能。该文件存放在系统主目录下,代码如下: “good“ then 验证是否登录过 response.redirect “login.asp“ end if % 本站新闻管理 ,新闻管理Manage.ASP,function popwin2(id,path) window.open(“Viewarticle.ASP?id=“+id+“ %,新闻管理Manage.ASP,const MaxPerPage=5 分页,每页5条 dim totalPut 新闻总数 dim CurrentPage 当前页码 dim TotalPages 总页数 dim i,j if not isempty(request(“page“) then 取分页数 currentPage=cint(request(“page“) else currentPage=1 end if %,新闻管理Manage.ASP, 管 理 界 面 还 没 有 任 何 内 容“ response.write “添加新闻“,新闻管理Manage.ASP,else totalPut=rs.recordcount if currentpagetotalput then if (totalPut mod MaxPerPage)=0 then currentpage= totalPutMaxPerPage else currentpage= totalPutMaxPerPage + 1 end if end if if currentPage=1 then showpages showContent showpages else if (current1)*MaxPerPagetotalPut then rs.move (current1)*MaxPerPage,新闻管理Manage.ASP,dim bookmark bookmark=rs.bookmark showpages showContent showpages else currentPage=1 showpages showContent showpages end if end if end if,新闻管理Manage.ASP,rs.close:set rs=nothing conn.close: set conn=nothing sub showContent() dim i,id response.write “ response.write “ response.write “ID 号 “ response.write “标 题“ response.write “ 时 间“ response.write “修 改“ response.write “删 除“,新闻管理Manage.ASP,response.write “ do while not rs.eof id=rs(“articleid“) response.write “ “& rs(“title“) & “ if rs(“size“)0 then response.write “(图)“ response.write “ response.write “ “ & rs(“dateandtime“) &“ response.write “修 改“ response.write “删 除“,新闻管理Manage.ASP,response.write “ i=i+1 if i=MaxPerPage then exit do rs.movenext loop response.write “ end sub sub showpages() dim n if (totalPut mod MaxPerPage)=0 then n= totalPutMaxPerPage else n= totalPutMaxPerPage + 1 end if,新闻管理Manage.ASP,if n=1 then response.write “添加新闻“ response.write “ exit sub end if dim k response.write “ 新闻分页 “ for k=1 to n if k=currentPage then response.write “+Cstr(k)+“ “ else response.write “+“+ Cstr(k)+“ end if next,新闻管理Manage.ASP,response.write “添加新闻“ end sub% 该页显示效果如图12-5所示。,新闻管理Manage.ASP,新闻管理Manage.ASP,程序开始处判断名为hdok的cookies值是否存在,其值是否为good,如果验证为否,则转向Login.ASP,防止未授权用户不通过验证直接进入管理界面。 显示分页showpages()过程首先判断页数n是否为1,如果只有一页,则exit sub不必显示分页。如果确实需要分页,则通过for k=1 to n将分页列出,期间再判断是否是当前页k=currentPage,非当前页需要加上链接,当前显示页面只需要列出数码。这段程序分页显示效果与Default.ASP中介绍的有所不同。showContent()过程用来显示每页内容。代码主要是通过判断是否还有数据输出,如果“if i=MaxPerPage then exit do”表示达到本页的最大分页数MaxPerPage,跳出循环。,新闻管理Manage.ASP,由于前面我们定义了showpages()和showContent()两个过程,所以页面显示的主体部分就比较简单明了,只需要根据分页数进行不同的排列就可以。这种代码的写法比较规范,相对前面介绍过的Default.ASP,整个程序结构更加明了,并且能实现代码的复用化,建议大家多采用这样的规范化写法。,12.3.5 添加、删除、修改代码,1添加新闻Addarticle.ASP和SaveArticle.ASP Addarticle.ASP为一个普通HTML页面,主要功能是录入新闻标题、新闻内容以及新闻图片。SaveArticle.ASP用于获取AddArticle.ASP传递过来的数据,保存到数据库中。在SaveArticle.ASP的开始处引用了,目的是利用其定义的Function GetUpload(FormData)函数获取二进制的数据(目的是想获取到图片,并存在数据库中)。将获取到的数据分别赋值给变量,最后通过rs.addnew和rs.update对数据库中新添一条记录。Addarticle.ASP和SaveArticle.ASP文件都存放在系统主目录下。,添加、删除、修改代码,Addarticle.ASP代码: “good“ then response.redirect “login.asp“ end if % 添加新闻 添 加 新 闻,添加、删除、修改代码, 主题: * 图片: 内容:,添加、删除、修改代码, 该页面显示效果如图12-6所示。,添加、删除、修改代码,添加、删除、修改代码,SaveArticle.ASP代码: % FormSize=Request.TotalBytes FormData=Request.BinaryRead(FormSize) Set Fields = GetUpload(FormData) imgsize= Fields(“img“).length imgtype= Fields(“img“).ContentType imgdata=Fields(“img“).Value title=Fields(“title“).Value content=Fields(“content“).Value set rs=server.createob
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。