Schrift
[thread]2984[/thread]

Sytax error



<< >> 2 Einträge, 1 Seite
Relais
 2004-08-24 23:18
#28290 #28290
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
In Zeile 63 fehlt ein Semikolon (;) nach der Tilde (~).
Gleichermaßen auch bei allen anderen print qq~ ... ~; - Konstrukten.

Du hast einmal $cgi und einmal $CGI , doppelt gemoppelt. Wirf eins davon ganz raus.\n\n

<!--EDIT|Relais|1093375253-->
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
frank_D
 2004-08-24 22:34
#28291 #28291
User since
2004-08-20
6 Artikel
BenutzerIn
[default_avatar]
Halihalo,
ich wollte ein Skript schreiben, womit ich eine Datenbank erstellen und mit einer Suchfunktion in dieser nach Namen suchen kann,dabei bekam ich immer erst die Fehlermeldung
Global symbol requires explicit package name, diese konnte ich "weggooglen",dafür habe ich jetzt einen sytaxerror in Zeile 65, die quasi "my @data" heißt.
Kann mir vielleicht jemand weiterhelfen?
Hier das Skript:

Code: (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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#!c:/Perl/bin/perl 
use strict;
my @data;

use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
use DBI;
use CGI;
my $cgi = CGI->new;
print $cgi->header();


my $DBH;
my $STH;
my $CGI;
my $antwort;

$CGI = new CGI();

##Suche oder Eintrag##

if ($CGI->param("suchanfrage")){
suche($CGI,$DBH,$STH);
}

#Start Subroutine Suche

sub suche {
my $nachname = param("nachname");
my $abteilung = param("abt");

$DBH = DBI->connect("DBI:CSV:db_mitarbeiter=c:/apachefriends/xampp/htdocs/cgi-bin")
or die "Konnte keine Verbindung zur Datenbank herstellen:$!";

$STH = $DBH->prepare("SELECT * FROM db_mitarbeiter
WHERE Nachname = '$nachname' AND Abteilung = '$abteilung'")
or die "Konnte SQL-Statement nicht bereitstellen:$!";

$STH->execute()
or die "Ausfuehren nicht moeglich:$DBI::errstr";

#Treffer

if ($STH->rows != 0){
print "Content-type: text/html\n\n";
print qq~;

<html>
<head>
<title>Antwort</title>
</head>
<body>
<center>
<h1>Suchergebnis</h1>
<hr>
<table border>
<tr>
<td width="200"><b>Familienname:</b></td>
<td width="100"><b>Vorname:</b></td>
<td width="200"><b>Abteilung:</b></td>
<td width="100"><b>Telefon:</b></td>
</tr>
~

my @data;

while (@data = $STH->fetchrow_array()) {
my $familienname = $data[0];
my $vorname = $data[1];
my $abt = $data[2];
my $telefon = $data[3];

print qq§<tr>\n<td><b>$familienname</b></td>\n<td>$vorname</td>
\n<td>$abt</td>\n<td>$telefon</td>\n</tr>\n§;

}

print qq§</table>\n<p><a href="formular1.html">Neue Suche</a></p>
\n<hr>\n</center>\n</body>\n</html>§;

}

##Keine Treffer

else {
print qq~
print "Content-type:text/html\n\n";

<html>
<head>
<title>Antwort</title></head>
<body>
<p>Leider brachte die Suche keine Ergebnisse!</p>
<hr>
<p><a href="[URL=http://localhost/formular1.html>Neue]http://localhost/formular1.html">Neue[/URL] Suche!</a></p></body></html>
~
}

$STH->finish();
$DBH->disconnect;}
##Ende Subroutine Suche

#Start Subroutine Eintragen

sub eintragen{

my ($nachname, $vorname, $abt, $telefon)=(param('nachname'),
param('vorname'), param('abt'),param('telefon'));

$DBH = DBI->connect("DBI:CSV:db_mitarbeiter=c:/apachefriends/xampp/cgi-bin")
or die "Konnte keine Verbindung zur Datenbank herstellen:$!";

$STH = $DBH->do("INSERT INTO db_mitarbeiter
VALUES ('$nachname','$vorname','$abt','$telefon')")
or die "Konnte SQL-Staement nicht bereitstellen:$!";

#Antwortseite

print qq~
print "Content-type:text/html\n\n";

print '<html>';
print '<head>';
print '<title>Antwort</title>';
print '</head>';
print '<body>';
print "<h4>Datenbankeintrag:</h4>";
print "<hr>";
print "<p><b>$nachname</b>,$vorname, $abt, $telefon</p>";
print "<hr>";
print "<p><a href="formular2.html">Neuer Eintrag!</a></p>";
print "<hr>";
print "</body>";
print "</html>";


Vielen dank schonmal in vorraus!!

Gruß

Edit: [Code]-Tags hinzugefügt.\n\n

<!--EDIT|Relais|1093375372-->
<< >> 2 Einträge, 1 Seite



View all threads created 2004-08-24 23:18.