Index

Inleiding

In deze korte handleiding zal ik je uitleggen hoe je dynamische webpagina's aanmaakt. Indien je denkt dat dit moeilijk is, kijk naar volgende kode:


FUNCTION PBMAIN()
   OPEN ENVIRON$("CGI_STDOUT") FOR OUTPUT AS #1
   PRINT #1, "<html><head><title>My first program!</title></head>"
   PRINT #1, "<body><h1>Hello world !</h1>";
   PRINT #1, "The time is "  TIME$  " in Belgium";
   PRINT #1, "</body></html>"
END FUNCTION

Zoals je ziet bestaat het programma uit print-opdrachten. Wat je uitprint is eigenlijk de HTML dat door de browser weergegeven zal worden. Instaleer de laatste Xitami versie (ik denk dat de latste versie 2.4d9 is), compileer het volgende programma (hello.exe), plaatst het in de cgi-bin directory en je bent klaar!
Xitami werkt zonder enige configuratie (het enige wat je eventueel moet doen is een passwoord definiëren indien je de web based administration wenst te gebruiken.
Na compilatie kan je het helloworld pagina aanroepen op http://localhost/cgi-bin/hello. De gebruikte programmeertaal is van weinig belang, als je maar met bestanden kan werken (Xitami). Voor Aprelium Abyss moet de programeertaal kunnen werken met pipes (standard in en standard out).


Vereisten


Inhoud van deze handleiding


Basis
Wanneer je een url (bijvoorbeeld zeepreventorium.org) in je browser ingeeft, dan wordt eerst door de lokale computer de naam omgezet in een adres (dit is de DNS-verwerking). Dan wordt er aan de hand van het bekomen adres de juiste server gecontacteerd. De server heeft een eenvoudige taak:
  • Lokaliseer het bestand en stuur die door aan de gebruiker
  • Indien er geen bestand gevraagd wordt (maar wel een directory), stuur 'index.htm' door (of om het even welk bestand dat gedefinieerd werd)
  • Indien een indexbestand niet bestaat, stuur dan de inhoud van de directory (indien deze funktie ingeschakeld is)
  • Indien de client iets vraagt dat in een map voor uitvoerbare bestanden staat, voer dan het programma uit, wacht tot ie gedaan is en stuurt het antwoord naar de gebruiker.
  • Indien de pagina niet bestaat, stuur dan een (aangepast) foutboodschap.

    Een webserver is eigenlijk één van de meest eenvoudige internet-programma's.


    Kode testen
    Een van de problemen met cgi-programma's, is dat je de debugger niet kan gebruiken. Het programma moet vooraf gecompileerd worden, en wordt dan uitgevoerd als de bezoeker de pagina opvraagt.
    Het programma kan zelfs meermalen aangeroepen worden, zodat meerdere exemplaren min-of-meer simultaan uitgevoerd worden. Je moet ervoor zorgen dat de bestanden die je gebruikt niet gelockt worden, zodat de andere instanties van het programma dezelfde bestanden eveneens kunnen raadplegen.

    Om gemakkelijk te verbeteren en te onderhouden applikaties te schrijven, maak je kleine uitvoerbare bestanden aan. Probeer niet alles in één programma te steken. In een winkelsite, als de klant artikels selecteert, het totaalbedrag opvraagt en dan koopt, maak dan een zelfstandige programma aan voor iedere te doorlopen stap. Ik heb een bestelsysteem geschreven met 147 kleine uitvoerbare bestanden. Bij het bestellen worden de verschillende stappen doorlopen; dus iedere keer wordt een ander bestand aangeroepen.

    Index

    Individuele landingspage bezoekers: :