#!c:/Perl/bin/perl use strict; use warnings; use CGI qw(:standard); use CGI::Carp qw(fatalsToBrowser warningsToBrowser); use DBI; my $cgi = CGI->new; print $cgi->header(); my %params = $cgi->Vars(); warningsToBrowser(1); # damit werden Warnungen an den Browser geschickt ##Suche oder Eintrag## if ($params{suchanfrage}){  suche(); } else{  eintragen(); } #Start Subroutine Suche sub suche {  my $nachname  = $params{nachname};  my $abteilung = $params{abt};  my $dbh = DBI->connect("DBI:CSV:mitarbeiter=c:/apachefriends/xampp/htdocs/cgi-bin") or die "Fehler: $DBI::errstr\n";  my $statement = "SELECT * FROM mitarbeiter WHERE Nachname = ? AND Abteilung = ?"; # hier besser mit Platzhaltern arbeiten  my $sth = $dbh->prepare($statement) or die "Konnte SQL-Statement nicht bereitstellen: $DBI::errstr";  $sth->execute($nachname,$abteilung) or die "Ausfuehren nicht moeglich: $DBI::errstr"; # hier die Platzhalter füllen #Treffer  print $cgi->start_html(-title => 'Antwort');  my $msg = qq~

Suchergebnis


                        ~;  my $table = "";  while (my ($familienname,$vorname,$abt,$telefon) = $sth->fetchrow_array()) {    $table .= qq§\n\n                 \n\n\n§;  }  unless($table){    $msg = qq~

Leider brachte die Suche keine Ergebnisse!


~;  }  else{    $msg .= $table.'
            Familienname:Vorname:Abteilung:Telefon:
$familienname$vorname$abt$telefon
';  }  $msg .= qq~

Neue Suche

\n
\n
~;  print $msg;  print $cgi->end_html();  $sth->finish();  $dbh->disconnect; } ##Ende Subroutine Suche sub eintragen{ #Start Subroutine Eintragen  my $dbh = DBI->connect("DBI:CSV:mitarbeiter=c:/apachefriends/xampp/cgi-bin") or die "Fehler: $DBI::errstr";  my $statement = "INSERT INTO mitarbeiter(Nachname,Vorname,Abteilung,Telefon) VALUES(?,?,?,?)";  my $sth = $dbh->prepare($statement) or die "Konnte SQL-Statement nicht bereitstellen: $DBI::errstr";  $sth->execute($params{nachname},$params{vorname},$params{abt},$params{telefon});  #Antwortseite  print $cgi->start_html(-title => 'Antwort');  print qq~

Datenbankeintrag:


$params{nachname},$params{vorname}, $params{abt}, $params{telefon}


         Neuer Eintrag!


~;  $sth->finish();  $dbh->disconnect; }