Article View: be.comp.programming
Article #13846debug probleempje in cgi-script
From: Franky Claeys
Date: Tue, 29 May 2001 20:33
Date: Tue, 29 May 2001 20:33
142 lines
3956 bytes
3956 bytes
hallo,
ben op de sukkel met het onderstaand perl-cgi scriptje. Ik krijg het maar
niet gedebugged. Dat ligt natuurlijk aan het feit dat ik niet echt een
programmeerachtergrond heb en dus te weinig ervaring.
Heeft iemand van jullie enig idee waar mijn fout kan zitten?
Ik krijg deze foutenboodschap steeds terug:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
syntax error at /home/httpd/cgi-bin/ticklook.pl line 16, near
"$ticker{$name}=$value;"
(Might be a runaway multi-line ;; string starting on line 15)
Execution of /home/httpd/cgi-bin/ticklook.pl aborted due to compilation
errors (#1)
(F) The final summary message when a Perl compilation fails.
Uncaught exception from user code:
Execution of /home/httpd/cgi-bin/ticklook.pl aborted due to compilation
errors.
[Tue May 29 22:00:55 2001] [error] [client 127.0.0.1] Premature end of
script headers: /home/httpd/cgi-bin/ticklook.pl
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Dit is het script waarin de fout ergens zou steken rond line 15-16. Ik denk
dat de fout dus absoluut ergens moet zitten waar ik de form input ontleed.
Het script werkt wel met een hardcoded variabele $ticker.
#!/usr/bin/perl -w
use CGI;
use DBI;
use diagnostics;
use Data::Dumper;
read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});
@pairs=split(/&/,$buffer);
foreach $pair(@pairs)
{
($name,$value)=split(/=/,$pair);
$value=~tr/+//;
$value=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eq;
$ticker{$name}=$value;
}
$dbh=DBI->connect('dbi:mysql:test', 'root', 'anneleen');
$company=&find_company($ticker{'veldnaam'});
if ($company eq "notfound")
{
print qq{<p>help</p>};
}
else
{
&do_for_company($company);
}
###################
#
# eerste subroutine
#
###################
sub find_company
{
$ticker{'veldnaam'}=shift;
$findcompsql="select comp from ticklist where
sym=\"$ticker{'veldnaam'}\"";
$sth2=$dbh->prepare($findcompsql);
$sth2->execute;
if
(@comp_res=$sth2->fetchrow_array)
{
$company=$comp_res[0];
}
else
{
$sth2->finish ();
return "notfound";
}
$sth2->finish ();
return $company;
}
######################
#
# Tweede subroutine
#
#####################
sub do_for_company
{
$comp=shift;
$sql="SELECT max(date) FROM $comp";
$sth=$dbh->prepare($sql);
$sth->execute;
$date= ($sth->fetchrow_array ())[0];
$sth->finish ();
$sql2="SELECT * from $comp WHERE date = '$date'";
$sth=$dbh->prepare($sql2);
$sth->execute ();
if (@rows=$sth->fetchrow_array)
{
$datum=$rows[2];
print qq{$datum};
}
$sth->finish ();
}
$dbh->disconnect;
Hopelijk kan iemand mij uit mijn lijden verlossen!
Bedankt alvast!
greetz
Frank
website: www.franksite.net
Technical Details
Message-ID:
<9f10s4$3v7$1@mykenos.hogent.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-03!supernews.com!newsswitch.lcs.mit.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!news-ge.switch.ch!naxos.belnet.be!news.belnet.be!mykenos.hogent.be!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,a38690a9f81aa3ff,start X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2001-05-29 13:34:13 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-03!supernews.com!newsswitch.lcs.mit.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!news-ge.switch.ch!naxos.belnet.be!news.belnet.be!mykenos.hogent.be!not-for-mail From: "Franky Claeys" <franky.claeys@vt4.net> Newsgroups: be.comp.programming Subject: debug probleempje in cgi-script Date: Tue, 29 May 2001 22:33:43 +0200 Organization: Hogeschool Gent Lines: 157 Sender: 963017fc@uu212-190-158-28.unknown.uunet.be Message-ID: <9f10s4$3v7$1@mykenos.hogent.be> NNTP-Posting-Host: uu212-190-158-28.unknown.uunet.be X-Trace: mykenos.hogent.be 991168196 4071 212.190.158.28 (29 May 2001 20:29:56 GMT) X-Complaints-To: newsmaster@hogent.be NNTP-Posting-Date: 29 May 2001 20:29:56 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400