#!/usr/bin/perl -w # The following code deals with the form data if ($ENV{'REQUEST_METHOD'} eq 'POST') { 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))/eg; $value =~ s/["]//gi; $value =~ s/[+]/ /gi; $FORM{$name} = $value; } } $keyword=$FORM{keyword}; chdir("/home/1008/gnicoll/www.abernyte.net/public_html"); opendir(DIR, "."); print "Content-type: text/html\n\n"; print"<STYLE>"; print"BODY {FONT-FAMILY: arial,sans-serif}"; print"TD {FONT-FAMILY: arial,sans-serif}"; print"DIV {FONT-FAMILY: arial,sans-serif}"; print"P {FONT-FAMILY: arial,sans-serif}"; print"A {FONT-FAMILY: arial,sans-serif}"; print"UNKNOWN {COLOR: #0000cc}"; print"</STYLE>"; print"<BODY bgColor=#ffffff topMargin=2 marginheight=2>"; print"<TABLE cellSpacing=2 cellPadding=0 width=100% border=0>"; print"<TBODY>"; print"<TR>"; print"<TD width=1% height=69 vAlign=top><a href=http://www.ally.nu><IM +G height=59 alt=Go to Noogle Home hspace=3 src=http://www.ally.nu/logo.gif width=143 vspace=5 border=0></a></TD>" +; print"<TD width=868></TD>"; print"</TR>"; print"</TBODY>"; print"</TABLE>"; print"<TABLE cellSpacing=0 cellPadding=0 width=100% border=0>"; print"<TBODY>"; print"<TR>"; print"<TD bgColor=#3366cc><IMG height=1 width=1></TD></TR></TBODY></TA +BLE>"; print"<TABLE cellSpacing=0 cellPadding=2 width=100% border=0>"; print"<TBODY>"; print"<TR>"; print"<TD bgColor=#e5ecf9 colSpan=4><B>Search Results</B> - Your Searc +h for the keyword(s) <strong>$keyword</strong> returned the following results:</TD></TR></T +BODY></TABLE><BR>"; print"<TABLE cellSpacing=0 cellPadding=2 width=100% border=0>"; print"<TBODY>"; print"<TR>"; print"<TD width=133 rowspan=2 vAlign=top noWrap bgColor=#ffffff><P><SM +ALL><A href=http://www.ally.nu>Noogle Home</A><BR><BR><A href=http://www.ally.nu/docs>Documentation</A><BR>< +br><A href=http://www.ally.nu/credits>Credits</A><br><BR><A href=http://www. +ally.nu/docs/faq>FAQ<br></A><BR><A href=http://www.ally.nu/quiz>Quiz</A><BR>"; print"<BR><BR>"; print"</SMALL></P></TD>"; print"<TD width=1 height=37 vAlign=bottom></TD>"; print"<TD width=1 rowspan=2 vAlign=bottom background=http://www.ally.n +u/dot2.gif><IMG height=1 src=http://www.ally.nu/dot2.gif width=1></TD>"; print"<TD width=1 vAlign=bottom></TD>"; print"<TD width=100% valign=top><P><B><FONT size=-1>Search Results</FO +NT></B></P></TD>"; print"</TR>"; print"<TR>"; print"<TD height=598 vAlign=bottom></TD>"; print"<TD vAlign=bottom></TD>"; print"<TD valign=top></p>"; print"<p></p>"; print"<p></p>"; print"<p></p>"; while($file = readdir(DIR)) { next if ($file !~ /.html/); open(FILE, $file); $foundone = 0; $title = ""; while (<FILE>) { if (/$keyword/i) { $foundone = 1; } if(/<title>/) { chop; $title = $_; $title =~ s/<title>//g; $title =~ s/<\/title>//g; } if(/<TITLE>/) { chop; $title = $_; $title =~ s/<TITLE>//g; $title =~ s/<\/TITLE>//g; } if($title eq "") { $title = $file; } if(/<META NAME="description" CONTENT="/i) { chop; $content = $_; $content =~ s/<META NAME="description" CONTENT="//g; $content =~ s/">//g; } if(/<META NAME="author" CONTENT="/i) { chop; $author = $_; $author =~ s/<META NAME="author" CONTENT="//g; $author =~ s/">//g; } if($content eq "") { $content = "No Meta-tag page information available"; } if($author eq "") { $author = "No Meta-tag author information available"; } $count++ while /$keyword/ig; } if($foundone) { print "<A HREF=/$file>$title</A><br>"; print"<table width=100% border=0 align=center bgcolor=#e5ecf9>"; print"<tr>"; print"<td height=10><font size=-1><b>Results</b>: <i>$count</i> occurr +ence(s) of the word(s) <i>\"$keyword\"</i> on this page.<br> <b>Page Description</b>: $content<br><b>Page Author< +/b>: $author<br><b>URL</b>:<font color=#008000>http://www.ally.nu/$file</td>"; print"</tr>"; print"</table>"; print"<br>"; $count = 0; $listed=1; } close(FILE); } if($listed ne 1) {print "<p><br>Sorry, your search returned <b>$foundone</b> res +ults. <A HREF=/index.html>Search Again?</A>";} else {print "<P><br>Do you want a <A HREF=/index.html>new search?</A +>";} print"</TD>"; print"</TR>"; print"</TBODY>"; print"</TABLE>"; print"<BR>"; print"<CENTER>"; print"<TABLE cellSpacing=0 cellPadding=0 width=100% border=0>"; print"<TBODY>"; print"<TR>"; print"<TD bgColor=#3366cc><IMG height=1 width=1></TD></TR></TBODY></TA +BLE>"; print"<TABLE cellSpacing=0 cellPadding=2 width=100% bgColor=#e5ecf9 bo +rder=0>"; print"<TBODY>"; print"<TR>"; print"<TD noWrap bgColor=#e5ecf9>"; print"<TABLE cellSpacing=0 cellPadding=0 width=100% border=0>"; print"<TBODY>"; print"<TR>"; print"<TD noWrap align=middle><FONT size=-1>©2005 Noogle - Napier Univ +ersity Server Side Languages Coursework <A href=http://www.ally.nu>Noogle Home</A> - <A href=http://www.ally.nu/d +ocs>Documentation</A> - <A href=http://www.ally.nu/credits>Credits</A> - <A href=http://www.ally. +nu/docs/faq>FAQ</A> - <A href=http://www.ally.nu/quiz>Quiz</A></FONT></TD></TR></TBODY></TABLE> +</TD></TR></TBODY></TABLE></CENTER></BODY></ HTML>"; closedir(DIR); exit;
In reply to Re^2: Form validation/Search script
by No-Lifer
in thread Form validation/Search script
by No-Lifer
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |