You can modify sub html_search_options to only show certain fields to users.
For Example:
sub html_search_options {
# --------------------------------------------------------
# Search options to be displayed at the bottom of search forms.
print qq~
<P><INPUT TYPE=HIDDEN NAME="Validated" VALUE="Yes">
<CENTER> <$font><STRONG>Search Options:</STRONG> <P>
<INPUT TYPE="CHECKBOX" NAME="ma"> Match Any
<INPUT TYPE="CHECKBOX" NAME="cs"> Match Case
<INPUT TYPE="CHECKBOX" NAME="ww"> Whole Words
<INPUT TYPE="CHECKBOX" NAME="re"> Reg. Expression<P>
Keyword Search</font> <FONT SIZE=-1> (will match against all fields)</FONT><BR>
<INPUT TYPE="TEXT" NAME="keyword" SIZE=30 MAXLENGTH=255><P>
<$font> Return records <INPUT TYPE="radio" NAME="mh" VALUE="$db_max_hits" CHECKED><B>in a list</B> or <INPUT TYPE="radio" NAME="mh" VALUE="1"><B>one record at a time</B>. </font>
<P>
<table border=0 width=470>
<TR><TD><$font>Sort By:</font></TD><TD><$font>Sort Order:</font></TD><TD><$font>Max. Returned Hits</font></TD></TR>
<tr valign=top><TD><select name="sb" size="1">
<option>Select from list
<option value="Category">Topic
<option value="Title">Title
<option value="Author">Author
<option value="Date">Date</select></td>
<TD><SELECT NAME="so">
<OPTION SELECTED VALUE="ascend">Ascending<OPTION VALUE="descend">Descending</SELECT></TD><TD><INPUT TYPE="TEXT" NAME="mh" VALUE="$db_max_hits" SIZE=3 MAXLENGTH=3></TD></tr></table></CENTER><br>
<$font><strong>Search Tips:</strong><br> - use '*' to match everything in a field)<BR>
- put a '>' or '<' at the beginning to to do range searches.<BR></font>
~;
}
There are also other ideas in the FAQ noted below under "Searching"
Unoffical DBMan FAQ
http://creativecomputingweb.com/dbman/index.shtml/