programming.bas6

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