Well as for the biz, no, I tried a default search and it didn't help, plus signups dwindled. On that end the site is more succesful when people who would just search the database for fun are hindered I think. But i don't know, I have it written that way also and maybe just need to rearrange it a bit. It's a finicky biz, heavy customer support (phone!) I put it up after I had a database half written for an agency (on their own software) and they screwed me as is par for the course with those businessess many times I think. Not wanting to throw the work out it ended up here in this format. In that it does help keep the competition on their toes a bit, otherwise, far as I know before us they had no competition. I have to be a bit more ingenious with services I think, but as I am sure you know, tackling a database is a major project and things take time. It's a long term project, part public service, part income on this end. What I've found most successful is simply to branch it off, I have a dedicated Christian section at
www.christiananny.com, that's popular. and I may move the main database into more refined areas also. Mostly it's a matter of dealing with unscrupulous (totally) competition. It's a very strange field. We have some new competition selling pretty much the same service for 49.00 but I was unable to get any signups at all charging a low fee, people want something more exclusive has been my impression, they don't want to be competeing with every Tom Dick and Harry in town. Plus we need the funds for development. security is number one at all times. The sites may just need updating. I have been working on security and stuff, i will get to the rest eventually. It's good however, been online almost 2 years, have not been hacked, though it's been attempted, we use parse form to pull scripting etc, and I've been tightening it up real good the past several months. we may end up just calling applicants via phone for initial interviews for validation, email can only do so much and cannot really verify anything in a real world scenario. But it's a very good start what we've got.
Essentially to do a default application and enable signups you just need a second cgi setup with it's own cfg file set to the proper userid field.
I use this button on the form results page after initial app submittal to grab the essential info and send it to signup on a separate cgi:
<TABLE WIDTH="550" CELLPADDING=2 CELLSPACING=0 BORDER=1 BGCOLOR="#FFF4FF">
<TR><TD><P><CENTER><FONT face="verdana,arial,helvetica" size="4"><b>Activate Your Account</b></font><br>
<$font>To Activate Your Account Now, Click the Button.
Your password will be mailed to you immediately. Keep this window open while checking your mailbox. Follow Log On directions in the letter.</p>
<P><form action="http://www.mysitehere.com/cgi-bin/mybin/register.cgi" method="post" name="form1">
<input type=hidden name="db" value="register">
<input type=hidden name="uid" value="">
<input type="HIDDEN" name="userid" value="$rec{'Username'}"></td></tr>
<input type="HIDDEN" name="email" value="$rec{'Email'}"></td></tr>
<center>
<input type="SUBMIT" name="signup" value="Click to Activate"></center></form></p></font></TD></TR>
</TABLE>
------
and you can set that as a mod also and just call it like
&html_register_mod;
also. either way. works well. Voila form submitted, user registered, no question about it. if the email address is invalid, they cannot access their account or any other parts of the site, so that's covered. I am using secure-password lookup mod to write the passwords. Th original file that the default app is running on needs to be secure, I have disabled signups from that, pulled view mods etc to be sure someone doesn't try to log on as default. Just an in case measure. All that cgi does is add, it cannot do anything else, period.
we also completely disable searching for name, email and phone fields from the public end of the database using this in query:
# First thing we do is find out what we are searching for. We build a list of fields
# we want to search on in @search_fields.
if ($in{'keyword'}) { # If this is a keyword search, we are searching the same
$i = 0; # thing in all fields. Make sure "match any" option is
$in{'ma'} = "on"; # on, otherwise this will almost always fail.
foreach $column (@db_cols) {
if (($db_sort{$column} eq 'date') or &date_to_unix($in{'keyword'})) { $i++; next; }
if ($i == $auth_user_field) { $i++; next; }
if ($i == $protectd1) { $i++; next; }
if ($i == $protectd2) { $i++; next; }
if ($i == $protectd3) { $i++; next; }
if ($i == $protectd4) { $i++; next; }
if ($db_form_len{$column} == -1) { $i++; next; }
push (@search_fields, $i); # Search every column
$in{$column} = $in{'keyword'}; # Fill %in with keyword we are looking for.
$i++;
}
---etc query as normal and then adding to default.cfg those fields as:
$protectd1 = 1;
$protectd2 = 2;
$protectd3 = 3;
$protectd4 = 4;
----as neccessary, any defined fields won't be returned in a search, say email address, name etc, for the public database to protect the user's privacy. if that all makes sense to you! Most of this stuff I originally got from the dbman unofficial faq site and adjusted it to suit.
I sure could use some help with that verify accounts html.... I will give it a shot later.