Thread Suchanfrage an Datenbank - statt Ergebnis öffnet sich CGI-Skript (3 answers)
Opened by Newbie2008 at 2008-12-09 19:15

Newbie2008
 2008-12-09 19:15
#117003 #117003
User since
2008-12-05
26 Artikel
BenutzerIn
[default_avatar]
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&uuml;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 )

View full thread Suchanfrage an Datenbank - statt Ergebnis öffnet sich CGI-Skript