Difference between revisions of "CGI Web Programming"
From Lazarus wiki
Jump to navigationJump to searchLine 53: | Line 53: | ||
The application '''hitcounter''' presents a simple hitcounter for your website. It is possible to enter blocklists in a configfile so robots and perhaps your own computer are excluded from the statistics. | The application '''hitcounter''' presents a simple hitcounter for your website. It is possible to enter blocklists in a configfile so robots and perhaps your own computer are excluded from the statistics. | ||
There are still a lot of improvements possible ofcourse like setting a cookie so you get only one hit per session, but it gives a good introduction into CGI programming. | There are still a lot of improvements possible ofcourse like setting a cookie so you get only one hit per session, but it gives a good introduction into CGI programming. | ||
+ | If you use the code and modify it, please send me a patch so I can update it. | ||
You can find the code here: | You can find the code here: | ||
[http://modelbuilder.svn.sourceforge.net/viewvc/modelbuilder/html/cgi/] | [http://modelbuilder.svn.sourceforge.net/viewvc/modelbuilder/html/cgi/] |
Revision as of 08:41, 12 May 2007
This is the start of a tutorial about cgi web programming. Everyone is invited to contribute.
A very basic example
Here is an example of a minimal CGI program to demonstrate...
- Setting a cookie
- Outputting the content-type (ie make it put out legal text for HTTP)
- Reading Cookies
- Reading form data via GET
- Reading form data via POST
program mini; uses dos; var a:string; c:char; begin //set a cookie (must come before content-type line below) writeln('Set-cookie:widget=value; path=/; expires= Mon, 21-Mar-2005 18:37:00 GMT'); //output legal http page writeln('Content-Type:text/html',#10#13); //demonstrate get cookies a:= GetEnv('HTTP_COOKIE'); writeln(' cookies:',a); //demonstrate GET result a:=''; a:= GetEnv('QUERY_STRING'); writeln(' GET: ',a); //demonstrate POST result a:=''; while not eof(input) do begin read(c); a:= a+c; end; writeln(' POST: ',a); end.
A simple hitcounter
The application hitcounter presents a simple hitcounter for your website. It is possible to enter blocklists in a configfile so robots and perhaps your own computer are excluded from the statistics. There are still a lot of improvements possible ofcourse like setting a cookie so you get only one hit per session, but it gives a good introduction into CGI programming. If you use the code and modify it, please send me a patch so I can update it.
You can find the code here: [1]