#!/usr/bin/perl
use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser); # zur Fehlerausgabe auf dem Browser
my $output = "";
my $cgi = CGI->new();
my %vars = $cgi->Vars();
print "Content-Type: text/html\n\n";
# head.htm und foot.htm einlesen
open HEAD, "../head.htm" or die "$!";
my @head =
;
close HEAD;
open FOOT, "../foot.htm" or die "$!";
my @foot = ;
close FOOT;
# Ausgabe der Seite beginnt
$output .= join "", @head;
if (!%vars) {
$output .= 'Shop
';
} else {
# Eingaben einlesen
my $aktion = $vars{aktion};
my $produkt = $vars{produkt};
my $preis = $vars{preis};
my $anzahl = $vars{anzahl};
my @message = ();
# Eingaben überprüfen
push(@message,"keinen Aktion angegeben!
") if (!$aktion);
push(@message,"kein Produkt angegeben!
") if (!$produkt);
push(@message,"keinen Preis angegeben!
") if (!$preis);
if (!$anzahl) {
push(@message,"keine Anzahl angegeben!
");
} elsif ($anzahl == 0) {
push(@message,"Keine gueltige Anzahl angegeben!
");
}
# Meldung ausgeben
if(!@message)
{
#Cookie setzen
my $cookie = $cgi->cookie(
-name => "warenkorb",
-value => "$produkt, $preis, $anzahl\n", # my @waren, solange bis in @waren auch mal was drin ist
-path => "/",
-expires => '+1h',
);
print $cookie;
$output .= "In Warenkorb aufgenommen!
Hier geht es zurück zum Shop!";
} else {
$output .= "Folgende Fehler traten bei der Eingabe auf:
@message
Hier geht es zurück zum Shop";
}
}
print $output;
print @foot;