VB电子教程教你制作一个网上征求意见的WindowsCGI应用程序

开发 后端
VB电子教程教你制作网上征求意见的WindowsCGI应用程序的一个小案例,在文章中还讲解复杂实用的WindowsCGI程序它由4个子过程组成:CGI_Main(),EnterGuest(),ReturnForm()和Inter_Main()还有功能的介绍。

大家用VB5.0也很长时间了吧,对于VB5.0给我们带来的好处也深有体会,在这里VB电子教程教你制作一个关于网上征求意见的WindowsCGI应用程序的一个小案例。

VB电子教程教你制作一个网上征求意见的WindowsCGI应用程序

下面举一个较复杂实用的WindowsCGI程序,它由4个子过程组成:CGI_Main(),EnterGuest(),ReturnForm()和Inter_Main();它的功能是:服务器向申请连接的Web客户发出一张表单,Web客户在表单里填入有关数据后送回服务器,服务器收到Web客户的数据并将它们写入一个文件中存储起来,同时向Web客户发送一个收条。这个WindowsCGI应用程序的工作流程如下:一当Web客户要求CGI连接,服务器运行该CGI程序,首先执行CGI_Main()过程,CGI_Main()过程调用ReturnForm()向Web客户送出一个表单,如果Web客户填了意见表,并按键寄回服务器(此时过程CGI_Main()中CGI_RequestMethod="POST"成立)则由CGI_Main()过程调用EnterGuest()获取客户发来的数据并将其放入文件guestbk.csv中,同时向Web客户返回一个信息回条表示客户表单已收到。
由于编译使用这个CGI程序的做法与上面完全相同,故下面仅给源程序代码:

  1. OptionExplicit  
  2. ConstBOOK_FILE="guestbk.csv"'存放客户  
  3. 数据的文件,自动生成,可用Excel97调阅  
  4. DeclareSubSleepLib"kernel32"  
  5. (ByValdwMillisecondsAsLong)  
  6. SubCGI_Main()  
  7. IfCGI_RequestMethod="POST"Then 
  8. EnterGuest  
  9. Beep  
  10. Else  
  11. ReturnForm  
  12. EndIf  
  13. EndSub' 

一当Web客户要求CGI连接,服务器执行ReturnForm(),送出征求建议的表单:

  1. SubReturnForm()  
  2. Send"Content-type:text/html"  
  3. Send""  
  4. Send("<HTML><HEAD><TITLE>贵州大学  
  5. TITLE>HEAD>")  
  6. Send("<BODY><H2>欢迎您访问贵州  
  7. 大学计算机软件与理论研究所WWW站点H1>")  
  8. Send("我们的e-mail是<AHREFAHREF=""mailto:"  
  9. &CGI_ServerAdmin&_  
  10. """>lixiang@gzu.edu.cn:A>")  
  11. Send("<HR>")  
  12. Send("请填下表,留下您的宝贵建议:")  
  13. Send("<FORMACTIONFORMACTION="""  
  14. &CGI_ExecutablePath&"""METHOD=""POST"">")  
  15. Send("<PRE>您的姓名:  
  16. <INPUTSIZEINPUTSIZE=25NAME=""name"">")  
  17. Send("E-mail地址:  
  18. <INPUTSIZEINPUTSIZE=25NAME=""email"">")  
  19. Send("您给我们的建议:<TEXTAREACOLSTEXTAREACOLS=40 
  20. ROWS=4WRAP=VIRTUALNAME=""comments"">")  
  21. Send("TEXTAREA>PRE>")  
  22. Send("请击此处将您的建议送我们:  
  23. <INPUTTYPEINPUTTYPE=""submit""")  
  24. Send("VALUE=""发送您的建议"">")  
  25. Send("<HR>")  
  26. Send("FORM>BODY>HTML>")  
  27. EndSub  
  28. '获取客户建议表单数据,将所填数据存入文件guestbk.csv并向客户返回一个信息  
  29. SubEnterGuest()  
  30. DimiLockTriesAsInteger  
  31. DimsDateAsString  
  32. DimsNameAsString  
  33. DimsEmailAsString  
  34. DimsCommentsAsString  
  35. 'DimsBrowserAsString  
  36. DimsFirstNameAsString  
  37. DimfnAsInteger  
  38. '提取建议的有关数据:  
  39. sName=GetSmallField("name")  
  40. sEmail=GetSmallField("email")  
  41. sComments=GetSmallField("comments")  
  42. iLockTries=0 
  43. fn=FreeFile 
  44. OnErrorGoTogLockFail  
  45. gRetryLock:  
  46. OpenApp.Path+"\"+BOOK_FILEFor  
  47. AppendLockReadWriteAs#fn  
  48. OnErrorGoTo0  
  49. sDate=Now 
  50. Write#fn,sDate,sName,sEmail,  
  51. sComments,CGI_RemoteAddr  
  52. Close#fn  
  53. sFirstName=Trim$(Left$(sName,  
  54. InStr(sName,"")))  
  55. IfsFirstName<>""  
  56. ThensFirstName=sFirstName&","  
  57. Send("Content-type:text/html")  
  58. Send("")  
  59. Send("<HTML><HEAD><TITLE>谢谢您!  
  60. TITLE>HEAD>")  
  61. Send("您的签名与建议是:<PRE>")  
  62. Send("日期:"&sDate)  
  63. Send("姓名:"&sName)  
  64. Send("E-Mail:"&sEmail)  
  65. Send("Hostaddress:  
  66. ["&CGI_RemoteAddr&"]")  
  67. Send("建议:PRE>")  
  68. Send(sComments)  
  69. Send("<H2>谢谢您!H2>")  
  70. Send("BODY>HTML>")  
  71. ExitSub  
  72. gLockFail:  
  73. Sleep(1000)  
  74. iLockTriesiLockTries=iLockTries+1  
  75. ResumegRetryLock  
  76. EndSub  
  77. SubInter_Main()  
  78. MsgBox"这是CGI程序,  
  79. 需要在Web服务器中运行。",16,"CGI.BAS"  
  80. EndSub 

VB电子教程教你的案例,学会了吗!

【编辑推荐】

  1. 关于VB.NET基类继承、重载、隐藏的总结归纳
  2. 你是否了解VB.NET集成开发环境
  3. 深入分析VB.NET条件语句中的两类
  4. 五大类VB.NET运算符全面介绍
  5. VB.NET实例教程之查询系统启动信息案例剖析
责任编辑:田树 来源: 乐博网
相关推荐

2013-05-13 09:31:29

Web App开发WebApp

2009-10-14 09:58:43

VB.NET程序

2021-04-29 05:30:43

工信部APP监管

2010-04-01 11:15:34

SOA

2010-04-01 10:03:40

互联网

2023-12-11 22:23:02

2015-07-13 10:10:14

2021-04-24 23:05:05

人脸识别信息安全技术

2021-11-05 06:02:23

App信息应用商店

2011-05-11 10:58:39

iOS

2021-06-23 05:41:53

物联网车联网网络安全

2009-10-21 09:38:34

VB QuickSor

2009-10-21 17:03:05

VB实例教程

2023-08-28 16:14:26

人脸识别

2011-06-14 15:32:26

Android视频教程

2011-03-15 19:45:27

Windows Azu

2021-08-26 23:17:59

人工智能智慧城市摄像头

2023-05-19 08:49:58

SQLAlchemy数据库

2010-08-13 13:05:30

Flex应用程序
点赞
收藏

51CTO技术栈公众号