Schrift
[thread]12882[/thread]

Suchanfrage an Datenbank - statt Ergebnis öffnet sich CGI-Skript

Leser: 1


<< >> 4 Einträge, 1 Seite
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 )
renee
 2008-12-09 19:38
#117005 #117005
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ist denn der Webserver so konfiguriert, dass .pl-Dateien ausgeführt werden? Hat das Skript die entsprechenden Rechte (755)?
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Newbie2008
 2008-12-10 11:46
#117028 #117028
User since
2008-12-05
26 Artikel
BenutzerIn
[default_avatar]
Ich teste es, in dem ich über die DOS-Eingabeaufforderung das HTML-Formular aufrufe und dann dort eine Kundennummer eingebe und über den Button die Suche starte.
Wie kann ich hier die "Rechte" definieren?
Wenn ich das Skript test.pl in der Eingabeaufforderung aufrufe, erhalte ich die fehlerfreie Durchführung des Skriptes. Kann ich dann davon ausgehen, dass es funzt?
renee
 2008-12-10 11:53
#117030 #117030
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ähm, Du brauchst schon einen Webserver zum testen...

Bitte lesen: http://wiki.perl-community.de/bin/view/Wissensbasi...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 4 Einträge, 1 Seite



View all threads created 2008-12-09 19:15.