Suchmaschine (Excite)
Daniel Schmidt
- cgi
Ich hab diesen Quelltext für meine Suchfunktion (Excite Suchmaschine).
Im IE wird angezeigt wenn nichts gefunden wurde, im Netscape nicht, warum im Netscape nicht?
####################################################################################
#!/bin/sh
perl=/u/excite/architext/perl
eval "exec $perl -x $0 $*"
#!perl
$root = "/u/excite/architext";
unshift(@INC, "$root/perllib");
require 'architext_query.pl';
$aurl = "/cgi-docs/";
$db = "pass38pass38pass38pass38pass38pass38exsuch";
$index = "/u/web/pass38/collection/pass38pass38pass38pass38pass38pass38exsuch";
$hroot = "/u/web/";
$binary = "/u/excite/architext/architextSearch";
$urledit = 's^/u/web/pass38/';
print "Content-type: text/html\n\n";
print "<html><head><title>Excite for Web Servers Search Results</title></head>\n";
print "<body bgcolor=#FFFFFF>\n";
print "<br>";
print "<br>";
print "<center>";
print "<table border=0 width=85% bgcolor=#DEE7D6>
<tr>
<td width=100% align=left height=500 valign=top>";
print "<center>";
print "<table border=0 width=80% bgcolor=#DEE7D6>
<tr>
<td width=100% align=left><h1><img src="/images/AT-search_banner.gif" BORDER=0></h1></td>
</tr></table></center>";
print "<div align=center><center>
<table border=0 width=80% bgcolor=#DEE7D6>
<tr>
<td width=100% align=left>";
%form = &ArchitextQuery'readFormArgs;
$search = &ArchitextQuery'setSearchString(%form);
$searchtype = &ArchitextQuery'getSearchMode(%form);
$form{'aurl'} = $aurl;
$form{'db'} = $db;
$form{'index'} = $index;
$form{'hroot'} = $hroot;
$form{'binary'} = $binary;
$form{'root'} = $root;
$form{'urledit'} = $urledit;
$form{'searchpage'} = $ENV{'HTTP_REFERER'} if ($form{'sp'});
$form{'docs'} = '1' unless $form{'docs'};
$form{'psearch'} = $form{'psearch'} $form{'search'};
$form{'search'} = $search;
$errstr = 'success';
&ArchitextQuery'checkForIndex(%form);
if ($searchtype eq 'confidence') {
## Perform the query. This function doesn't print anything.
##Later commands will display the results.
($errstr, @query_results) = &ArchitextQuery'MakeQuery(%form);
$docs = &ArchitextQuery'PrepareGather(*query_results);
$form{'docs'} = $docs;
# &ArchitextQuery'showSearchMode($searchtype, %form)
# unless (($errstr eq 'summary') ($errstr eq 'dump'));
# &ArchitextQuery'showSearchString(%form)
&ArchitextQuery'HtmlList(*query_results, %form) if ($errstr eq 'success');
} else {
## subject group query
# &ArchitextQuery'showSearchMode($searchtype, %form);
# &ArchitextQuery'showSearchString(%form, 'gather', 'gather');
$errstr = &ArchitextQuery'MakeGather(%form);
}
if ($errstr eq 'summary') {
&ArchitextQuery'SummaryOutput(*query_results);
} elsif ($errstr eq 'dump') {
&ArchitextQuery'DocumentOutput(*query_results);
} else {
print &ArchitextQuery'queryError($errstr)
unless ($errstr eq 'success');
}
print "</td></tr></table></center></div></td></tr></table></center>\n";
print "</body></html>\n";
####################################################################################
Viele Grüße Daniel
Es muß irgendwie an der Tabelle liegen wenn ich die auskommentiere, kommt alles richtig im Netscape!
*fragend* Daniel
Hallo Daniel,
aufgrund des Scripts fiel mir jetzt nichts auf was Netscape stören könnte. Ein Ansatz ist aber immer - wie Daniel schon schrieb - die Syntax der Tabellen zu kontollieren. Netscape nimmt sowas sehr genau. Fehlt z.B. irgendwo ein End-Tag, so ist die Tabelle futsch.
Aber der HTML-Quelltext paßt ja soweit er gepostet wurde. Somit somit ist das Problem also noch seltsamer. Wird Netscape mit den kompletten Daten gefüttert? Wenn Netscape nichts anzeigt aber Daten geliefert wurden, so kann er zumindest den Quellcode anzeigen. Vielleicht dann dort auch 'mal Tabellensyntax angucken. Sollte der Quellcode dort irgendwie nur teilweise vorhanden sein hätte sich das Problem ja auch gefunden...
Grüße aus Bayreuth
Julian
P.S: Ganz so klar, wenn gleich syntaxmäßig richtig, war mir aber trotzdem manches im Quelltext nicht:
<h1><img src="/images/AT-search_banner.gif" BORDER=0></h1>
Was wird hier mit Schriftformatierung erreicht? Oder wird <h1> einfach zu irgendwas mißbraucht?