Sorry about the two questions in the same day but this is really bugging me. I have a form which I'm using but of course I underestimated the maturity of the people who use it and I got a lot of people tossing in swear words on the sign up form *sigh*.
I tried adding a word filter but when I added it the filter blocked EVERYTHING, even things that weren't in the @ignore didn't go through. Ugh, I am getting frustrated with this one. Why is it blocking things I'm not asking it to?
if(param()){
my $username = param('username');
$username =~ s/\s+\z//;
my $askname = param('askname');
$askname =~ s/\s+\z//;
my $update = param('update');
if($username){
if($askname){
if(grep($username, @ignore) || grep($askname, @ignore)) {
print "That didn't quite work";
exit;
}
if($update eq "add"){
if(exists $list{$username}){
print "Username already exists in database.\n";
}
else{
$list{$username} = $askname;
print "Username was added to our system!<p>\n";
}
}
elsif($update eq "rem"){
if(exists $list{$username}){
delete $list{$username};
print "Account information was removed from the sy
+stem.\n";
}
else{
print "Oops, it doesn't appear that username is in
+ our database.\n";
}
}
}
else{
print "For this to work please add your username.\n";
}
}else{
print "Unless your name is null, please go back and fill it in
+.\n";
}
}
print end_html();