#!/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

Viikkotehtävän palaute

Henkilötiedot

$etunimi

$sukunimi

$syntymavuosi

Sukupuoli

$paaaineet
FOO if ( not $err ) { my $cookie = $q->cookie('oops'); if ( $cookie eq "1" ) { print "

Olet täyttänyt lomakkeen aikaisemmin

"; } else { print <Yhteenveto suorituksista

Olet suorittanut $lkm kurssia

Olet suorittanut $op opintopistettä

Suorituksiesi keskiarvo on $avg

FOO } } else { print < Suoritettujen kurssien arvosanat $kurssit
Kommentteja opinnoistasi

FOO } print < FOO