|about this page||some help||register||add scripts||links to registered pages|
|known bugs||unregister||delete scripts||maintain registered pages|
about this page...
first of all: this page may be useless for you, since you wouldn't be able to use it. but
you may download this page and the sourcecodes of my cgi-programs to create your own pagemaker
page. unfortunately actually there is no possibility to download my sources; i'm working
on that, but it may take some days until i've found out how to do that on this server.
debug option allows you to use my page without any password!
my main intention when creating this page was to learn about cgi-functions. on the other hand there should be something somewhat usefull to be done with these functions. so, considering the many pages i may have in future :-] i decided to have a page to maintain all these other beautyful pages.
the first task were standard parts on pages; that is e.g. the footer you see on the bottom off this page - i'ld like it to be the same on every page i have; so if i change the footer, it should be changed on every page and that isn't very nice to be done by hand; therefore i specified some tag actually not used by html (<THFOOTER>) and included all the lines that belong to the footer in this tag; then i created a file containing these lines, too; at last i wrote a function that replaces text contained in a specified tag in one file with some text from another file; that's all - text has to be changed only once (in the ´standard footer file´) and could be copied with that function in any page.
the second task was the possibility to replace text in all my pages all at once. i thought about situations where i have to move my pages to another server, and suddenly some paths have to be changed or the name of my homepage has to be altered from welcome.html to welcome.html, or maybe my email-address changes, or... there may be thousands of references in my documents and i'm only one to change them all. so i wrote another function fulfilling this task.
the functions are written in c++ and may be available for you sometime in future when i have found out how to make them available to you. they first worked on my pc (486 66mhz) where i use a server software called windows httpd v1.4b written by robert b. denny; you can get news, tools and updates at http://www.city.net/win-httpd/. this server specifies two files when calling cgi-programs - one for input (containing the data send from the calling document) and one containing the output produced by the program. so my program is able to read and decode information from a file and to write usable output into another; i hope this proceeding is portable to be used with any other server.
if you are asked for the complete local path of some
page, there will be already some initial pathinformation in the
inputfield. this should
be the serverroot, i.e. the local path of your homedirectory on the httpd-server (if not,
recompile cgi_page.c and change the according constant). every path must start with this
´basic´path. that means, if you want to maintain pages located not in that directory or a
subdirectory of it, you have to insert some ´../´s to go back as far as necessary and then
add the path leading to your page. if you've changed the path you can get it back by
clicking on the initial path button
motive for this restriction: it is very easy to get the ´http://´-address of a document located in the serverroot - you just have to replace the serverrootpath with the according path on the httpd-server and therefore the document could be easily addressed as local file as well as page on the httpd-server. [back/index]
the comment you give for a page is displayed near the according link to that page to describe the contents of it. it is inserted in this page 'as it is', so feel free to use html-tags to format it; [back/index]
if you want to make several replacements you may want ot use
a script. the script has the following format: it's divided in pairs of
lines, each pair having the text_to_find in the first and the replace_with text in the
second line. the replacements are carried out in the same sequence as they are found in
the file. consider the following script:
when the replace checkbox is checked, the replacement action is done for every selected page ; leaving the replace_with field empty means to delete the text in the text_to_find field; the text_to_find field is not allowed to be empty, so you will receive an errormessage when starting the program with an empty text_to_find field; remember: if you type in some text but don't check the checkbox, the text will be disregarded! [back/index]
when the replace with script checkbox is checked, the replacements defined in the selected script are done for every selected page; if the contents of the script is invalid, no action takes place; if you are not sure about a scripts contents use the verify script option. [back/index]
if you check verify script, before doing the replacement via script a page is shown, stating all replacements found in the script; if there is anything in that script you don't want to have done, you can simply go back to the pagemaker page (without any action performed). [back/index]
you must select at least one action; the
replace and replace with scripts
checkboxes define actions too, so you don't have to select one of the actions given under
the header 'select one or more of the following actions',
if you have selected one of that two; all actions could be combined: in that
case the replacement is done at last; if both, replace and replace with script are
selected first the replacement via replace is done, then the replacement via script;
all other actions (which shouldn't influence each other) are done
if debug is selected, you'll get a page showing all the data received by the cgi-program - no other action is performed. this makes it easy to see if the form sends really the data your program expects. checking this button in a form enables you to use it even without password! [maintain/register/unregister/add/delete/index]
the unlocked page is just the output of the cgi-program, so if you use relative anchors
(that are links pointing to parts of this page like this one, allowing you to go up to
the index) and then tell your browser to go ´back´, you may get an
errormessage about a wrong requestmethod.
if i'ld allow to use the method get, anyone would be able to call the cgi-program directly via specifying it's name as new location and that's actually not what i want the people to do (it's just a lack of security, you know). but forbidding this ´direct´ use unfortunately disables your browser to reload the page with some relative anchor (it's the #xxx part shown in the locationbox of your browser).
therefore you have to go back with your browser until you reach a location where no #xxx part is added to the programs name - that page should be reloaded succesfully.
if there is actually no #xxx part added to the programs name you can try the following: click on this first relative anchor and then on this second relative anchor (you must use both !!); now tell your browser to go back once to produce the errormessage and once again to present this page as you expected it. [index]
|welcome.html||it's my homepage|
|construc.htm||used for links to pages which are under construction|
|hints.htm||page with hints|
|visit.htm||page to register a visit|
|testpage.htm||a page showing some html features|