CGI programovanie

Väčšina webových stránok v dnešnej dobe je tvorená dynamickým obsahom. Znamená to, že sa obsah stránky mení s časom na základe daných udalostí. Takýmito udalosťami môže byť vyplnenie formulára a slačenie tlačidla pre jeho odoslanie, čas zobrazenia stránky, typ prehliadača, ktorý si stránku vyžiadal a pod.

Aby bolo možné za rôznych podmienok zobraziť rôzne informácie, je potrebné aby bola stránka vytvorená v okamihu požiadavky na jej zobrazenie. Na to slúžia tzv. CGI programy resp. CGI skripty, ktoré sú umiestnené na webovom serveri.

Nasledujúci skript vypíše aktuálny dátum.

#!/usr/bin/perl
#info.pl

chomp($date = 'date /t');

print "Content-type: text/html\n";
print "\n";

print "<html>\n";
print "<head>\n";
print "<title>Info</title>\n";
print "</head>\n";
print "<body bgcolor=\"#550066\" text=\"#ffffff\">\n";
print "<h1>Info</h1>\n";
print "Dnes je: $date\n";
print "</body>\n";
print "</html>\n";

Kontrola formulára

Pri kontrole odosielaného formulára budeme využívať silu regulárnych výrazov. Nasledujúcim kódom vytvoríme formulár.

<form name="formular" action="spracuj.cgi" method="post">
Meno: <input type="text" name="meno">
Priezvisko: <input type="text" name="priezvisko">
PSC: <input type="text" name="psc">
Mesto: <input type="text" name="mesto">
<input type="submit" value="Odosli">
</form>

Po odoslaní vytvoreného fomulára sa spustí CGI skript spracuj.cgi, ktorý skontroluje správnosť vyplnených údajov.

#!/usr/bin/perl

use CGI qw/:standard/;

my $meno = param("meno"); # do jednotlivých premenných si uložíme hodnoty z formulára
my $priezvisko = param("priezvisko");
my $psc = param("psc");
my $mesto = param("mesto");
print header;
print start_html;

if($meno eq '' || $priezvisko eq '' || $psc eq '' || $mesto eq '') # kontrola, či všetky položky formulára su vyplnené
{
print 'MENO, PRIEZVISKO, PSC, MESTO, EMAIL musia byt vyplnene';
}
else{
print 'udaje vyplnene';
}
if ($psc !~ /^[0-9]{3}\s[0-9]{2}$/ || $psc !~ /^[0-9]{5}$/)
{
print 'PSC ma ZLY FORMAT';
}
print end_html();