Thread Suchanfrage an Datenbank - statt Ergebnis öffnet sich CGI-Skript
(3 answers)
Opened by Newbie2008 at 2008-12-09 19:15
Hallo,
ich habe ein Suchformular erstellt. Es hier soll eine Suche über ein Feld in einer Datenbank erfolgen (esa2a.dba) und verschiedene Eckdaten ausgegeben werden. Ich habe folgenden Skript erstellt (test.pl): Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 #!/usr/bin/perl -w use strict; use CGI qw(:standard); use CGI::Carp qw(fatalsToBrowser); use DBI; my $DBH; my $STH; my $CGI; my $Antwort; my $Kundennummer = param("Kundennummer"); $DBH = DBI->connect('DBI:ODBC:esa2a') or die "Konnte keine Verbindung zur Datenbank herstellen:$!"; $STH = $DBH->prepare("SELECT * FROM Kunden") or die "Konnte SQL-Statement nicht bereitstellen:$!"; $$STH-> execute() or die "Ausfuehren nicht moeglich:$!"; if (($STH->rows != 0){ print <<HERE_TEXT; Content-type:text/html <HTML> <HEAD> <TITLE> Suchergebnis </TITLE> </HEAD> <BODY> <H1>Suchergebnis</H1> <TABLE BORDER> <TR> <TD WIDTH="50"><B>Kundennummer:</B></TD> <TD WIDTH="50"><B>Name:</B></TD> <TD WIDTH="50"><B>Adresse:</B></TD> <TD WIDTH="50"><B>Telefonnummer:</B></TD> </TR> HERE_TEXT1 my @data; while (@data = $STH->fetchrow_array()) { my $Kundennummer = $data[0]; my $Name = $data[1]; my $Adresse = $data[2]; my $Telefonnummer = $data[3]; print qq§<TR><TD><B>$Kundennummer</B></TD>\n<TD><B>$Name</B></TD>\n<TD><B>$Adresse</B></TD>\n<TD><B>$Telefonnummer</B></TD>\n; } print qq§</TABLE>\n<P><A HREF =\"../suche.html\">Neue Suche!</A></P>\n<HR>\n </BODY> </HTML> } else { print <<HERE_TEXT2; content-type:text/html <HTML> <HEAD> <TITLE> Suchergebnis </TITLE> </HEAD> <BODY> <P> Leider brachte die Suche nach '$Kundennummer' keine Ergebnisse!</P> <HR> <P><A HREF =\"../suche.html\">Neue Suche!</A></P> </BODY> </HTML> HERE_TEXT2 } $STH->finish(); $DBH->disconnect(); Mein Suchformular sieht so aus (suche.html): <HTML> <HEAD> <TITLE> Suchformular </TITLE> </HEAD> <BODY> <H1>Suche nach Kunden-/Rechnungsdaten</H1> <FORM Action ="test.pl" Method="post"> <HR> <TABLE> <TR> <TD>Bitte geben Sie eine Kundennummer ein:</TD> <TD><INPUT TYPE="zahl" name="Kundennummer"></TD> </TR> </TABLE> <INPUT TYPE="submit" name="suchanfrage" value="Suche starten"> <INPUT TYPE="reset" value="Zurücksetzen"> <HR> </BODY> </HTML> Gebe ich nun im Suchformular etwas ein und klicke auf Suche starten, bekomme ich nicht das Ergebnis sondern den o.g. Perl-Skript angezeigt. Keine Fehlermeldungen - nichts. Kann mir jemand weiterhelfen? Danke schön Newbie2008[perl] Code: (dl
)
|