#! /usr/bin/perl -w
use DBI;
use CGI;
use warnings;
use CGI::Carp qw/fatalsToBrowser/;
if ($ENV{'REQUEST_METHOD'} eq 'POST') #Abfragen ob der user eine Eingabe gemacht hat
{
my $cgi = new CGI;
my $action = $cgi->param('action');
my $eintragID = $cgi->param('eintragID');
if ($action eq "change")
{
&GaestebuchEintrag($eintragID); #Ändern d. Gästebucheintrages
}
elsif ($action eq "delete")
{
&GaestebuchEintragLoeschen($eintragID); #Löschen d. Gästebucheintrages
}
}
&htmlGaestebuch();
#+-----------+-------+------+---------------+-------+-----------+------+----------+
#| EintragID | Datum | Zeit | Name | Titel | Nachricht | Mail | Homepage |
#+-----------+-------+------+---------------+-------+-----------+------+----------+
sub Weiterleitung
{
print "Content-type: text/html\n\n";
print <<EOT;
<html>
<head>
<title>Gästebuch Weiterleitung</title>
<link rel="stylesheet" type="text/css" href="/test/daniel/gaestebuch/styles.css">
<meta http-equiv="refresh" content="0"; URL=gaestebuch.plx">
</head>
<body>
</body>
</html>
EOT
}
sub GaestebuchEintragLoeschen
{
my $id = shift;
print "<p>".$id."</p>";
&connect();
my $sql =
my $sth = $dbh->prepare( $sql );
$sth->execute();
$sth->finish();
&disconnect();
}
sub GaestebuchEintrag
{
my $id = shift;
my $cgi = new CGI;
my $nachricht = $cgi->param('nachricht');
my $name = $cgi->param('name');
my $wohnort = $cgi->param('wohnort');
my $mail =$cgi->param('mail');
my $homepage =$cgi->param('homepage');
my $titel =$cgi->param('titel');
$homepage =~ s/^http:(\/*|\\*)*//;
&dateNow();
my $datum =@dateNow[0];
my $zeit =@dateNow[1];
&connect();
my $sql = qq{insert into gaestebuch (Datum,Zeit,Name,Titel,Nachricht,Mail,Homepage,Wohnort) values (?,?,?,?,?,?,?,?)};
my $sth = $dbh->prepare( $sql );
$sth->execute($datum,$zeit,$name,$titel,$nachricht,$mail,$homepage,$wohnort);
$sth->finish();
&disconnect();
}
sub htmlGaestebuch
{
print "Content-type: text/html\n\n";
print <<EOT;
<html>
<head>
<title>Gästebuch</title>
<link rel="stylesheet" type="text/css" href="/test/daniel/gaestebuch/styles.css">
<script type="text/javascript" src="/test/daniel/gaestebuch/functions.js"></script>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<form name="Formular" action="gaestebuchAdmin.pl" method="post" onsubmit="return editPostValues();">
<div id=""></div>
<h1> Zum editieren der Einträge anklicken</h1>
EOT
print @dateNow[0];
print @dateNow[1];
&connect(); #Verbinden mit datenbank
"Database con nection not made: $DBI::errstr";
my $sql = qq{select * from gaestebuch};
my $sth = $dbh->prepare( $sql );
$sth->execute();
while(@ergebnis=$sth->fetchrow_array)
{
print " <table class='guestTable' width = '400px' onclick='textEditNow(this)' onmouseover='colorChangeColor(this)' onmouseout='colorChangeWhite(this)' onclick='textEditNow(this)'> \n";
print " <tr> \n";
print " <td id='cDate".$ergebnis[0]."' class='Date' width='125px' rowspan='2'> \n";
print " <b>#".$ergebnis[0]."</b> \n";
print " <p> \n";
print " ".$ergebnis[1].",<br>um ".$ergebnis[2]." Uhr<br> \n";
print " <a id='website".$ergebnis[0]."' href='http://".$ergebnis[7]."' target='_blank'>".$ergebnis[7]."</a> \n";
print " </p> \n";
print " </td> \n";
print " <td id='cName".$ergebnis[0]."' class='Name' align = 'Right'> \n";
print " <b id='name".$ergebnis[0]."'>".$ergebnis[3]."</b> \n";
print " aus \n";
print " <b id='home".$ergebnis[0]."'>".$ergebnis[8]."</b> \n";
print " </td> \n";
print " </tr> \n";
print " <tr> \n";
print " <td id='cText".$ergebnis[0]."' class='Text'> \n";
print " <h1 id='title".$ergebnis[0]."'>".$ergebnis[4]."</h1> \n";
print " <div id='message".$ergebnis[0]."'>".$ergebnis[5]."</div> \n";
print " </td> \n";
print " </tr> \n";
print " </table> \n\n";
}
$sth->finish();
&disconnect(); #Verbindung mit Datenbank trennen
print "<input name='entryID' id='entryID' type='hidden' value='0'/> \n";
print "<input name='pagePosition' id='pagePosition' type='hidden' value='0'/> \n";
print "<input name='action' id='action' type='hidden' value='delete'/> \n\n";
print "</form>";
print <<EOT;
<br />
<script language="JavaScript">
<!--
gotoPosition(); //Possition aus URL wieder aufnehmen
//-->
</script>
</body>
</html>
EOT
}
sub dateNow
{
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
$Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
my $CTIME_String = localtime(time);
$Monat+=1;
$Jahrestag+=1;
$Monat = sprintf("%02d",$Monat);
$Monatstag = sprintf("%02d",$Monatstag);
$Stunden = sprintf("%02d",$Stunden);
$Minuten = sprintf("%02d",$Minuten);
$Sekunden = sprintf("%02d",$Sekunden);
$Jahr+=1900;
my @Wochentage = ("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
my @Monatsnamen = ("","Januar","Februar","März","April","Mai","Juni",
"Juli","August","September","Oktober","November","Dezember");
#@dateNow=(["$Monatstag. $Monatsnamen[$Monat] $Jahr<br>\n"], ["$Stunden.$Minuten Uhr<br>\n"]);
$dateNow[0]="$Monatstag. $Monatsnamen[$Monat] $Jahr";
$dateNow[1]="$Stunden:$Minuten:$Sekunden";
}
sub connect
{
my $verbindung = "DBI:mysql:dwTest";
my $username = "*****";
my $password = "*****";
use DBI;
$dbh = DBI->connect($verbindung, $username, $password);
}
sub disconnect
{
$dbh->disconnect();
}