用VB开发标准CGI程序..doc

用VB开发标准CGI程序..doc

ID:50961891

大小:51.50 KB

页数:8页

时间:2020-03-16

用VB开发标准CGI程序..doc_第1页
用VB开发标准CGI程序..doc_第2页
用VB开发标准CGI程序..doc_第3页
用VB开发标准CGI程序..doc_第4页
用VB开发标准CGI程序..doc_第5页
资源描述:

《用VB开发标准CGI程序..doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、用VB开发标准CGI程序三.CGI编程实例本节将用VB编写一个处理主页客户留言簿的CGI程序。除了本文前面所介绍的Win32API函数,程序中还调用了Win32API函数GetTempFileName()以获得一个唯一的临时文件名。程序中的函数UrlDecode()用来对客户端的输入进行URL译码,函数GetCgiValue()则用来分解字符串,根据表单元素的NAME属性获取其VALUE值,并调用UrlDecode()函数对其进行URL译码。本程序要求在留言簿文件guests.html中使用一个定位串“<!ENDHEAD>”以将文件的开始部

2、分和具体的客户留言部分分开,CGI程序将在“<!ENDHEAD>”所在的位置插入客户新的留言。guests.html应具有如下的形式:DHTMLZone<!ENDHEAD><!——-客户的留言部分从这开始——>

............................<!——-客户的留言部分结束于此——>这种形式将

3、保证最后的留言出现在留言簿的最前面。如果要想使最后的留言出现在留言簿的最后面,只需将留言簿文件中的定位字符串“<!ENDHEAD>”移到留言簿文件中客户留言部分和HTML文件结尾部分之间的位置就行了。整个程序的完整代码如下所示:'guestbook.basDeclareFunctionGetStdHandleLib"kernel32"(ByValnStdHandleAsLong)AsLongDeclareFunctionReadFileLib"kernel32"(ByValhFileAsLong,lpBufferAsAny,_ByValnN

4、umberOfBytesToReadAsLong,lpNumberOfBytesReadAsLong,_lpOverlappedAsAny)AsLongDeclareFunctionWriteFileLib"kernel32"(ByValhFileAsLong,_ByVallpBufferAsString,ByValnNumberOfBytesToWriteAsLong,_lpNumberOfBytesWrittenAsLong,lpOverlappedAsAny)AsLongDeclareFunctionGetTempFileNameLi

5、b"kernel32"Alias"GetTempFileNameA"_(ByVallpszPathAsString,ByVallpPrefixStringAsString,_ByValwUniqueAsLong,ByVallpTempFileNameAsString)AsLongPublicConstSTD_INPUT_HANDLE=-10&PublicConstSTD_OUTPUT_HANDLE=-11&PublicConstFILE_BEGIN=0&PublichStdInAsLong'标准输入文件句柄PublichStdOutAsLo

6、ng'标准输出文件句柄PublicsFormDataAsString'用于存储没有经过URL译码的用户输入数据PubliclContentLengthAsLongPublicCGI_RequestMethodAsStringSubMain()DimCGI_ContentLengthAsString,CGI_QueryStringAsString,sBuffAsString,chinesetailAsStringDimlBytesReadAsLong,rcAsLong,IAsLongDimsEmailAsString,sNameAsStrin

7、g,sURLAsString,sfromAsString,tempstringAsStringDimsCommentAsString,tempFileNameAsString,guestbookAsString'CGI程序的初始化工作hStdIn=GetStdHandle(STD_INPUT_HANDLE)hStdOut=GetStdHandle(STD_OUTPUT_HANDLE)CGI_RequestMethod=Environ("REQUEST_METHOD")CGI_QueryString=Environ("QUERY_STRING

8、")CGI_ContentLength=Environ("CONTENT_LENGTH")lContentLength=Val(CGI_ContentLength)sBuff=S

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。