用FoxWeb在網上迅速公布你的FOXPRO數據庫
發表時間:2024-02-11 來源:明輝站整理相關軟件相關文章人氣:
[摘要]作者:駱文先FoxWeb是微軟專門為發布FOXPRO系列數據庫而開發的一個CGI接口,如果你熟悉Foxpro編程,你只要了解一下如何使用FoxWeb就可以快速開發出令人滿意的網站了(也許你只要看完本文就知道如何做了)!當然,你必須要有一定的HTML基礎! 下面介紹如何使用FoxWeb來開發WEB...
作者:駱文先
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。里面包括了函數參考、文件上載、程序調試、優化性能及程序安全等更詳細的信息。
(全文完)