Hallöle
danke für die Antworten!
Also ich baue gerade eine Intranetpage mit einer Telefonliste.
Diese Telefonliste möchte ich wenn ich in meine Suchenmaske etwas eingebe durchsuchen. Da ich leider erst seit 3 Wochen mit Perl arbeite hab ich auch noch nicht wirklich Ahnung.
Den Code habe ich etwas erweitert und hoffe das ihr versteht was ich möchte!!!
Der Code folgt!
#!/usr/bin/perl -w
#mitarbeiterliste.pl Ausgabe der CGI-Umgebungsvariablen
#Mitarbeiterliste -w
use strict;
use CGI::Carp qw(fatalsToBrowser);
HTML-Header ausgeben
print "content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test</title>";
print '<link rel="stylesheet" href="/css/css.css">',"\n";
print "</head><body>\n";
Variablen-Initialisierung
my (@input,$in,$total);
#my ($i,@cust, @arr, @erg, @matching);
my $request_method = $ENV{'REQUEST_METHOD'};
my @werte;
my %parameter;
my @paar;
my $aufruf;
my @spalten;
my @suchergebnis;
if ($request_method eq "GET") {
$aufruf=$ENV{'QUERY_STRING'};
}
elsif ( $request_method eq "POST"){
read (STDIN, $aufruf, $ENV{'CONTENT_LENGTH'});
print "Aufruf $aufruf<br>";
}
@werte = split (/&/, $aufruf);
foreach (@werte) {
@paar=split (/=/, $_);
$parameter{$paar[0]}=$paar[1];
}
#@werte=keys(%parameter);
#print "Parameter ",keys(%parameter),"<br>";
my $pfad="/srv/www/cgi-bin/daten/";
my $qdatei="$pfad$parameter{'datei'}";
open (FILE,"<$qdatei")||
"die Datei $parameter{'datei'} konnte nicht geöffnet werden";
# ganze Datei in @file einlesen
my @file = <FILE>;
my $zeile=$file[0];
@spalten=split(/;/,$zeile);
foreach (@spalten) {
$parameter{$_}="";
}
shift (@file);
# Array @file sortieren
my @sorted = sort @file;
#foreach $_ (@sorted) {
# chomp;
# push @arr, [ split(/;/,$_)];
#}
mode=1 Ausgabe der Liste
mode=2 Ausgabe der Suchmaske
mode=3 Aufruf des Skriptes mit den Suchdaten zur Ausgabe der Suchergebnisse
mode=4 Ausgabe der Einfügemaske
mode=5 Ausführen der Eingabe in die Einfügemaske in die Liste
mode=6 Editierenmaske
mode=7 Einfügen des Editierten Eintrags
if ($parameter{"mode"} eq "3") {
#print "<table border=1 cellpadding='2' cellspacing='2'>";
print "grep";
# Suchalgorithmus mit grep()
# @matching= grep { # Iterator ist $_
#$_->[0] =~ /^$cust[0]/ &&
#$_->[1] =~ /^$cust1/ &&
#$_->[2] =~ /^$cust2/ &&
#$_->[3] =~ /^$cust3/ &&
#$_->[4] =~ /^$cust4/ &&
#$_->[5] =~ /^$cust5/ &&
#$_->[6] =~ /^$cust6/ &&
#$_->[7] =~ /^$cust7/ &&
#$_->[8] =~ /^$cust8/
}
#@arr;
#Tabellenkopf ausgeben
#print "<form action='/cgi-bin/mitarbeiterliste.pl?mode=2&datei=mitarbeiterliste.txt' method='get'>";
print "<tr><td colspan='9'><h2>Suchergebnisse</h2></td></tr>";
print "<tr>";
foreach (@spalten) {
print "<th>$_</th>";}
print "</tr>";
# foreach (@arr){
# Schleifeniterator ist $_
# Dereferenzieren der Arrayelemente mit $_->[Index]
# Aktive Tabellenausgabe!!!!
print qq(<tr><td>$_->[0]</td><td>$_->[1]</td> <td>$_->[2]</td><td>$_->[3]</td><td>$_->[4]</td><td>$_->[5]</td><td>$_->[6]</td><td>$_->[7]</td><td>$_->[8]</td></tr>);
#}
print "</table>";
#if ($parameter{"mode"} eq "3")
#{
print "<table border=1 cellpadding='2' cellspacing='2'>";
#Tabellenkopf ausgeben
#print "<form action='/cgi-bin/mitarbeiterliste.pl?mode=2&datei=mitarbeiterliste.txt' method='get'>";
# print "<tr><td colspan='9'><h2>Suchergebnisse</h2></td></tr>";
# print "<tr>";
# foreach (@spalten) {
# print "<th>$_</th>";}
# print "</tr>";
Tabellenzeilen ausgeben
# foreach (@arr) {
# Schleifeniterator ist $_
# Dereferenzieren der Arrayelemente mit $_->[Index]
# Aktive Tabellenausgabe!!!!
# print qq(<tr><td>$_->[0]</td><td>$_->[1]</td> <td>$_->[2]#</td><td>$_->[3]</td><td>$_->[4]</td><td>$_->[5]</td><td>$_->[6]#</td><td>$_->[7]</td><td>$_->[8]</td></tr>);
# }
# print "</table>";
#}
if ($parameter{"mode"} eq "1")
{
print "<table border=1 cellpadding='2' cellspacing='2'>";
#Tabellenkopf ausgeben
print "<form action='/cgi-bin/mitarbeiterliste.pl?mode=2&datei=mitarbeiterliste.txt' method='get'>";
print "<tr><td colspan='8'><h2>Gesamte Liste</h2></td><td colspan='1'><input type='Submit' name='search' value='Eintrag suchen'</td></tr>";
print "<tr>";
foreach (@spalten) {
print "<th>$_</th>";}
print "</tr>";
Tabellenzeilen ausgeben
# foreach (@arr) {
# Schleifeniterator ist $_
# Dereferenzieren der Arrayelemente mit $_->[Index]
# Aktive Tabellenausgabe!!!!
print qq(<tr><td>$_->[0]</td><td>$_->[1]</td> <td>$_->[2]</td><td>$_->[3]</td><td>$_->[4]</td><td>$_->[5]</td><td>$_->[6]</td><td>$_->[7]</td><td>$_->[8]</td></tr>);
}
print "</table>";
if ($parameter{"mode"} eq "2")
{ print "<table border=0 cellpadding='2' cellspacing='2'>";
print "<form action='/cgi-bin/mitarbeiterliste.pl' method='post'>";
print "<tr><td colspan='9'><h2>Suchen</h2></td></tr>";
$parameter{mode}=3;
foreach (@spalten) {
print "<tr><td>$_:</td><td><input type='Text' name='$_' value='' size='25'</td></tr>";}
print "</table>";
print "<div align='center'><input type='Submit' name='search' value='Get that thing'</div>";
}
print "</table>\n";
print "</body></html>\n";
Wie ihr im Code seht hab ich schonmal ein bisschen was ausprobiert leider klappt das nicht!!! könnt ihr mir bitte helfen