#!/usr/bin/perl -w # # created by Marlen Bredehoeft # 15.07.2009 # use CGI qw/:standard -private_tempfiles/; # CGI-Routinen laden use CGI::Carp qw(fatalsToBrowser); # Fehlermeldungen werden im # Browser Window ausgegeben $CGI::DISABLE_UPLOADS = 1; # keine Uploads erlaubt $CGI::POST_MAX=1024; # max 1 kB bei POST-Request use DBI; # DBI einbinden use strict; ####################################### # Funktion fuer die Sicherheitsabfrage ####################################### sub VerboteneEingabe ($) { my @data = (";", "&", "<", ">", "\"","'"); my $variable = shift; my $verboten ; my $k; foreach $k(@data){ if ($variable =~ "$k"){ return "verboten"; } #end if } #end foreach $k(@data) return "ok"; } #end VerboteneEingabe ####################################### # main ####################################### print "Content-type: text/html\n\n", "
\n",, "Irgendeine Eingabe ist zu lang.
",
"Mehr als 10 Zeichen",
" pro Textfeld werden nicht bearbeitet.
\n"; $Eingabe = ''; $Loeschen = ''; } # if (length($Eingabe) > 10 || length($Loeschen) > 10) if ( VerboteneEingabe($Eingabe) ne "ok" || VerboteneEingabe($Loeschen) ne "ok" ) { print "
Ihre Eingabe enthält mindestens ein ",
"nicht erlaubtes Zeichen.
",
"Keine Aktion.
\n";
$Eingabe = '';
$Loeschen = '';
} # if VerboteneEingabe
###############################################################################
### Datenbank-Variablen setzen
###############################################################################
open(FILE,"mysqlid.txt"); # UserID, Passwort und Datenbankname einlesen
my $dbuser= Aktion: " . $Loeschen ,
" aus der Datenbank gelöscht Aktion: " . $Eingabe ,
" in die Datenbank aufgenommen Inhalt der Datenbank: \n",
"
\n";
} # ( $Loeschen ne "" )
### Auslesen der hoechsten ID und
### Einfuegen eines neuen Namens
if ( $Eingabe ne "" ) {
$csr_maxid = $lda->prepare("select max(id) from test") ||
die "$lda->errstr\n";
$csr_maxid->execute() || die $csr_maxid->errstr;
$maxid = $csr_maxid->fetchrow_array;
$maxid++;
$id=$maxid;
$insert_db = $lda->prepare("INSERT INTO test (id, name) VALUES ($maxid, '$Eingabe')") ||
warn "$lda->errstr\n";
$insert_db->execute() || die ($insert_db->errstr);
print "
\n";
} # ( $Eingabe ne "" )
} # if ($Submit eq "Datenbank bearbeiten")
###############################################################################
### Inhalt der Datenbank ausgeben
###############################################################################
print "\n",
"
\n";
###########################################################################
### Datenbankverbindung beenden
###########################################################################
$lda->disconnect || warn "$lda->errstr\n";
######
print " \n";
$csr_name = $lda->prepare("SELECT id, name from test order by id") ||
die "$lda->errstr\n";
$csr_name->execute() || die ($csr_name->errstr);
while(($id, $name) = $csr_name->fetchrow_array )
{
print "ID Name \n";
}
print "$id $name
back
",
"";
#