Forum Moderators: coopster & phranque

Message Too Old, No Replies

adding an error message

         

specter

7:47 pm on Mar 8, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Ok.I have a cgi script to create a little search engine.I'm fixing some bugs that come up while using it:
Making a search,if there is a match,10 results for page are shown.If there isn't any match nothing is shown.Now,I would add a message like:"Sorry,no match found" but I'm not a Perl programmer so I need your help.I individuated the subroutine "footer" as the one to modify but I don't know how to add the function.Could you please,enlight me?

Here it is the code snippet:

################# SUBROUTINES ######################

sub heading {
print "Content-type: text/html\n\n";
print "$heading";
}

sub footer{
$keyencode=$FORM{'keywords'};
$keyencode =~ tr/ /+/;
if ($found > 9) {
$position=$currentline;
print "<CENTER><FONT $font size=3><A HREF=\"$scripturl?keywords=$keyencode&code=$position&mode=$FORM{'mode'}&safe=$safekey \"><B>More Results</B></A><BR><HR WIDTH=400></FONT></CENTER>";
}
else {
unless ($addshow == 1) {
print "<CENTER><FONT $font SIZE=2><B>End of Results.</B><BR><HR WIDTH=400></FONT></CENTER>\n";
}
}

Thanks for any help

Sincerely

perl_diver

8:07 am on Mar 9, 2006 (gmt 0)

10+ Year Member



assuming $found is the variable that let's your script know if any results were found, maybe something like:


sub footer{
$keyencode=$FORM{'keywords'};
$keyencode =~ tr/ /+/;
if ($found > 9) {
$position=$currentline;
print "<CENTER><FONT $font size=3><A HREF=\"$scripturl?keywords=$keyencode&code=$position&mode=$FORM{'mode'}&safe=$safekey \"><B>More Results</B></A><BR><HR WIDTH=400></FONT></CENTER>";
unless ($addshow == 1) {
print "<CENTER><FONT $font SIZE=2><B>End of Results.</B><BR><HR WIDTH=400></FONT></CENTER>\n";
}
}
else {
print "No results found";
}
}

specter

12:07 pm on Mar 9, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Hi Perl diver,

Nice to see you!

Yes,the variable should be just "$ found".
I'll try and I'll let you know.

Thanks very much for the moment.Please,stay there,I could need you again...

Sincerely

specter

12:54 pm on Mar 9, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Ok.Where should I put the string in?

sub footer {
$keyencode=$FORM{'keywords'};
$keyencode =~ tr/ /+/;
if ($found > 9) {
$position=$currentline;
print "<CENTER><FONT $font size=3><A HREF=\"$scripturl?keywords=$keyencode&code=$position&mode=$FORM{'mode'}&safe=$safekey \"><B>More Results</B></A><BR><HR WIDTH=400></FONT></CENTER>";
}
else {
unless ($addshow == 1) {
print "<CENTER><FONT $font SIZE=2><B>End of Results</B><BR><HR WIDTH=400></FONT></CENTER>\n";
}
}
unless ($noshow == 1) {
unless ($addshow == 1) {
print "<CENTER><P><FORM METHOD=post ACTION=$scripturl><TABLE><TR><TD VALIGN=TOP><FONT $font SIZE=3><B>Search For :</B></FONT></TD><TD><INPUT TYPE=TEXT NAME=keywords SIZE=40 VALUE=\"$FORM{'keywords'}\"><BR><FONT $font SIZE=2><center><B>Mode :</B><INPUT TYPE=\"radio\" NAME=\"mode\" VALUE=\"words\" CHECKED>Word<INPUT TYPE=\"radio\" NAME=\"mode\" VALUE=\"phrases\">Phrase<BR></FONT></TD></center><TD VALIGN=TOP ALIGN=CENTER WIDTH=60><INPUT TYPE=SUBMIT VALUE=\"Search!\"></TD></TR></TABLE></FORM><p></CENTER>\n";
}
if ($FORM{'keywords'} ne "") {
print "<CENTER><FONT $font size=2><B>Search for \"$FORM{'keywords'}\" in these search engines...<br><A HREF=\"http://www.altavista.com/cgi-bin/query?pg=q&what=web&q=$keyencode\">AltaVista</A> <A HREF=\"http://search.dejanews.com/dnquery.xp?query=$keyencode&defaultOp=AND&svcclass=dncurrent&maxhits=20\">DejaNews</A> <A HREF=\"http://search.excite.com/search.gw?search=$keyencode\">Excite</A> <A HREF=\"http://guide-p.infoseek.com/Titles/?qt=$keyencode\">GO Network</A> <A HREF=\"http://www.hotbot.com/?MT=$keyencode&SM=MC&DV=0&LG=any&DC=10&DE=2&_v=2&OPs=MDRTP&Search.x=38&Search.y=15\">HotBot</A> <A HREF=\"http://www.lycos.com/cgi-bin/pursuit?query=$keyencode&maxhits=20\">Lycos</A> <A HREF=\"http://www.webcrawler.com/cgi-bin/WebQuery?searchText=$keyencode&maxHits=20\">WebCrawler</A> <A HREF=\"http://search.yahoo.com/bin/search?p=$keyencode\">Yahoo!</A></B><P></CENTER>\n";
}
}
&generate;
print "$footer";
exit;
}