#!/usr/bin/perl -w -T
# luetaan xhtml-dokumentin alkuosa tiedostosta
# tulostetaan taulukkoon tiedostosta luettuja henkilötietoja
use strict;
use CGI;
my $q = new CGI;
my $param = $q->param();
my $err = 0;
my $INFILE;
open($INFILE, "paaaineet.txt") or die "paaaineet.txt ei aukea: $!";
my $paaaineet = '';
if ( not $default ) {
$paaaineet = $paaaineet . 'Valitse pääaine';
$err++;
}
close($INFILE);
open($INFILE, "kurssit.txt") or die "kurssit.txt ei aukea: $!";
my @k = <$INFILE>;
close($INFILE);
my %opintopisteet;
foreach my $rivi ( sort @k ) {
chop($rivi);
my ($kurssi, $op) = split(/,/, $rivi);
if ( $q->param("kurssi_" . $kurssi) ) {
$default = $q->param("kurssi_" . $kurssi);
}
else {
$default = "";
}
#pitää huomioida että kurssin nimi voi sattumalta
#olla sama kuin jokin jo olemassaoleva kentän nimi
#lisätään vaikka etuliite
$kurssit = $kurssit . <
FOO
$opintopisteet{$kurssi} = $op;
}
my $etunimi;
my $sukunimi = "";
my $syntymavuosi = "";
if ( not $q->param('etunimi') ) {
$etunimi = 'Etunimi puuttuu';
$err++;
}
else {
$etunimi = ''
}
if ( not $q->param('sukunimi') ) {
$sukunimi = 'Sukunimi puuttuu';
$err++;
}
else {
$sukunimi = ''
}
if ( not $q->param('syntymavuosi') ) {
$syntymavuosi = 'Anna järkevä syntymävuosi';
$err++;
}
else {
$syntymavuosi = '';
if ( $q->param('syntymavuosi') < 1900 || $q->param('syntymavuosi') > 2000 ) {
$syntymavuosi = $syntymavuosi . "Anna järkevä syntymävuosi";
$err++;
}
}
my $lkm = 0;
my $summa = 0;
my $op = 0;
my $avg;
if ( not $err ) {
foreach my $p ( $q->param() ) {
if ( index($p, "kurssi_") == 0 && $q->param($p) > 0 && $q->param($p) <= 5 ) {
#print $p;
$lkm++;
$summa += $q->param($p);
$op += $opintopisteet{substr($p,7)};
}
}
$avg = $op / $lkm;
my $cookie = $q->cookie(-name=>'oops',
-value=>"1",
-expires=>'+1h',
-path=>'/',
-domain=>'appro.mit.jyu.fi'
);
print $q->header(-cookie=>$cookie);
}
else {
print $q->header();
}
print <Taso 5 - WWW-sovellukset TJTA270