Solved

Check if Request.Form contains certain values

Posted on 2009-07-14
4
393 Views
Last Modified: 2012-06-27
I am trying to edit a webpage we have in C#, which receives data from a form.

I want to be able to see if the text contains certain words. We are using it to block people from sending explicit emails on our website contact form.

I currently have this and that is it, i dont know what to put after it that searches for words. Lets just say those words i want to search for are Dog, Cat & Rabbit (if i used the actual words most peoples proxy servers would block this topic).

if (Request.Form["comment"] ----- and then i want it to say look for Dog, Cat & Rabbit. If true, then do something.
0
Comment
Question by:AVONFRS
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 4

Accepted Solution

by:
fsouzabrasil earned 500 total points
ID: 24848701
use IndexOf try:

if (Request.Form["comment"].IndexOf("Dog")>-1){
//Your code is here;
}
0
 
LVL 9

Expert Comment

by:rg20
ID: 24848879
Here is an article with code and modifications below which does close to what your looking for

http://weblogs.asp.net/andrewrea/archive/2008/05/03/bad-word-filter-with-regular-expressions.aspx

if you want to keep it simpler,  you can create an array of words you want to filter, then parse the string for those words

even though this is written in PHP you can use the logic

http://www.codingforums.com/showthread.php?t=9845

<?
set the URL
$url='and+a+if+yaks+are+or+cooler+a+than+llamas';

/*array of no words*/
$no=array('and','a','if','or','a','are');

'removes words which are offensive
function lose_stuff(&$array,$no){
while(list($key,$var)=each($array)){
    if(in_array($var,$no)){
      unset($array[$key]);
      $no_incs[]=$var;
    }
  }
  return $no_incs;
}
reconfigure the URL
$search = explode('+',$url);
$errs=lose_stuff($search,$no);

echo 'Sorry but the words '.implode(',',$errs).' were not included';
echo '<br />searching for ... '.implode(',',$search);
?>

Another effective meathod is to have one of those enter this code pictures on the page, it will stop bots, for now :)
0
 
LVL 1

Author Comment

by:AVONFRS
ID: 24849115
Thanks for your reply fsouzabrasil.

After putting the following in:

                  if(Request.Form["your comment"].IndexOf("Dog")>-1)
                  {
                        sendStatus.Text="testing")
                  }

I get

System.NullReferenceException: Object reference not set to an instance of an object.

0
 
LVL 4

Expert Comment

by:fsouzabrasil
ID: 25082677
Thanks, can i help you more anything?
0

Featured Post

Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Unlocking a column in excel using C# 17 28
MS SQL and inserting dates into tables using stored procedures 6 39
Two decimal 5 29
Trigger C# code inside the SQL Server 6 36
Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question