subroutine programming.bas6
***********************************************************************
* Programming example 6, add a form, save the results in a file
***********************************************************************
*
* [00] 25Nov97 jr Initial Creation
* [01] 02Nov00 jr Update coding style
include wbp w3Include
* prepare substitution strings for the header
substitutions = ""
substitutions<1,1> = "$$TITLE$$"
substitutions<1,2> = "Simple, but boring"
open "programming" to f.data else
call w3HtmlInit("", "")
call w3HtmlHeader("","")
call w3Printn("<HTML><BODY><H3>Application error</H3>")
call w3Printn("<P>Cannot open the file 'programming'")
call w3HtmlFooter("","")
return
end
* get name of heading banner
* we're using the logo list used in the rotating banner
* demonstrations, so it will be the name of a gif file
* however, people may think specifying a *.gif file is
* a bug, so as an extra, strip it out
heading = ""
call w3RotatorGet("w3Rotator.demo", heading)
heading = field(heading, ".", 1)
header = "**HEADING**":@VM:heading
* set up the HTML page
* Add a cookie to the page
* Cookie name is "programming"
* Cookie value is "set by us"
call w3HtmlCookie("programming=set by us","", "", "", "", "")
call w3HTMLInit("programming","") ;* use programming.headfoot.htm
call w3HTMLHeader("",substitutions)
call w3HTMLInsertSection("programming1", header, "head")
select f.data
subs = ""
done = 0
loop
readnext id else done = 1
until done do
readv addr from f.data, id, 1 then
subs<1> = "col1":@VM:id
subs<2> = "col2":@vm:addr
call w3HTMLInsertSection("programming1", subs, "detail")
* Write the w3ProfileId to the second field in the file
* this allows tracking of the last w3ProfileId which
* viewed this database entry
writev w3ProfileId on f.data, id, 2
end
repeat
call w3HTMLInsertSection("programming1", header, "end")
* ~<~FONT COLOR=RED~>~
* Add the form to the Web page
call w3HtmlFormBeg("","") ;* Start the form
call w3HTMLInsertSection("programming1", header, "form") ;* add form body
call w3HtmlFormEnd ;* end the form
* ~<~/FONT~>~
call w3HTMLFooter("","")
* ~<~FONT COLOR=RED~>~
* Wait up to 5 minutes for the user's reply
* -----------------------------------------
call w3Input(err, 600, "")
* Check for any error and just stop
* ---------------------------------
if err # W3_OK then
return
end
* No error, get the value set by the user
* ---------------------------------------
results = ""
call w3GetVal(results, "like")
* Add the response to every record in the database
* ------------------------------------------------
select f.data
done = 0
loop
readnext id else done = 1
until done do
writev results on f.data, id, 3
repeat
* ~<~/FONT~>~
close f.data
return