Database 版 (精华区)

发信人: mengy (LEAR DLLS 命令时,将从内存中清除), 信区: Database
标  题: 用FoxWeb在网上快速发布你的FOXPRO数据库
发信站: 哈工大紫丁香 (2000年12月30日18:25:59 星期六), 转信

用FoxWeb在网上快速发布你的FOXPRO数据库    作者:骆文先

FoxWeb是微软专门为发布FOXPRO系列数据库而开发的一个CGI接口,如果你熟悉
Foxpro编程,你只要了解一下如何使用FoxWeb就可以快速开发出令人满意的网站了
(也许你只要看完本文就知道如何做了)!当然,你必须要有一定的HTML基础!
  下面介绍如何使用FoxWeb来开发WEB程序!
  1、系统的安装配置
  首先,你可以从www.FoxWeb.com下载安装文件,试用版可以免费使用30天。安
装之前,你必须先安装VFP3.0以上的版本,再安装FoxWeb,安装很简单,安装完成
后,启动FoxWebControlCenter,你只要简单配置一些基本的参数就可以了!

  Admin.Name:管理员的名字.它将被保存在CGI.AdminName中。
  Admin.E-Mail:管理员的EMAIL.它将被保存在CGI.Admin中。
  PRGTimeout:超时时间,它指示服务器在返回一错误结果给用户之前等待用户
程 序结束的时间(秒)。
  VFP.EXE:VFP.EXE的绝对路径。
  ProgramRoot:用户程序根目录的绝对路径。你的程序应该放在这相目录下。

  TotalChannels:总FoxWeb频道数。它由服务器的内存和CPU数来决定,在单
CPU的服务器上,最好不要超过4个。
  其它参数你按默认值就可以了!
  2、怎样提取用户端信息。
  用户端的信息包括两部分:HTTP数据项和表单数据项。HTTP数据项包括客户端
和服务器端的信息,如客户端IP,服务器名等,它们被放在对象CGI中,你只要用
CGI.NameOfParameter就可以引用对应的值,如CGI.RemoteAddress将返回客户端的
IP地址!
  表单数据项包括了用户输入的信息,要取出这些值,用函数FormField()就可
以了,例如,FormField("LastName")将返回表单中输入框名为LastName的值。
  3、怎样生成并返回结果给用户。
  在你的程序退出以后,FoxWeb将寻找公用变量html_out,并把它的内容返回给
浏览器,因此你只要把你要返回的结果写入变量html_out就可以了!返回结果的第
一行必须为返回结果的MIME类型,且后续一空行。例如,对通常的HTML输出,必须
在返回结果的第一行写下:Content-type:text/html
  FoxWeb提供一种很方便生成返回结果的方法,你可以把你要生成的结果按规定
的格式生成模板,并保存在数据库或者文件中,程序中,先生成模板中所有的变量
的值,然后再用FoxWeb提供的函数MergeTxt()就可以生成结果了,该函数会自动把
模板中的变量(“<<”和“>>”之间的内容)替换为该变量的实际值。
  4、URL的结构。
  调用FoxWeb程序的URL的结构如下:
  http://ServerName/cgi-shl/FoxWeb.exe/ProgramName?QueryString
  其中,ServerName是你的WEB服务器的名称,Cgi-shl是你的CGI目录,
ProgramName是你的程序名(不带.prg后缀),可以是相对路径,也可以是绝对路
径。另一种ProgramName格式是"Procedure@Program",它对应FoxPro的
"DOprocedureINprogram"命令.QueryString 是你想放到变量CGI.QueryString中的
值。如:
  "http://myserver.com/cgi-shl/FoxWeb.exe/list@c:\prg\customer?all"
  将调用"DOlistINc:\prg\customer",也就是运行prg文件"C:\PRG\CUSTOMER" 
中的过程"LIST",CGI.QueryString的值将被设置为字符串"all"。
  5、全局过程。
  FoxWeb提供两个局过程,FW_ENTER.PRG和FW_EXIT.PRG,它们必须放在程序的
根目录(ProgramRoot)中。它们在每个FoxWeb请求中都被执行,FW_ENTER.PRG在用
户程序执行之前执行,如果它的返回结果为.F.,则用户程序将不被执行。
FW_EXIT.PRG则在用户程序执行完后执行,因此这两个全局过程一般用于设置系统
环境或者对访问作安全控制等。
  下面是一个简单的例子,它只是简单地提取出用户输入的值,并返回该值给用
户:
  包括一表单的主页a.html如下:
< html>
< head>
< title>test< /title>
< /head>
< body>
< form action="/cgi-bin/FoxWeb.exe/test" method="POST">请输入你的姓名:

< input type="text" name="name">
< input type="Submit" name="ok" value=" 确定">
< /form>
< /body>
< /html>
  用户程序test.prg如下:
M.Name=alltrim(formField('name'))&&取出用户输入的值
html_out=MergeTxt(ReadFile("moban.txt"))&&返回结果给用户return
  模板文件moban.txt如下:
Content-type:text/html
< HTML>
< HEAD>
< TITLE>输入结果< /TITLE>
< /HEAD>
< BODY>
你的姓名是:<< m.name>>
你的IP是:<< cgi.remoteaddress>>
< /BODY>
< /HTML>
  如果用户输入的姓名为李小龙,则用户将收到如下页面:
< HTML>
< HEAD>
< TITLE>输入结果< /TITLE>
< /HEAD>
< BODY>
你的姓名是:李小龙
你的IP是 :202.103.111.85
< /BODY>
< /HTML>
  通过以上介绍,你应该对FoxWeb的用法有一个大概的了解了吧,但要真正用它
开发强大的应用程序,这还是不够的。要了解更详细的信息,请参考www.FoxWeb.
com。里面包括了函数参考、文件上载、程序调试、优化性能及程序安全等更详细
的信息。

(全文完)


转载自中国程序员网站
 
返回首页
 

 

  
--

       大海无边天做岸
               山登绝顶我为风

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.227.121]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.516毫秒