| | |
Bad word filter
Please support our PHP advertiser: PostgreSQL or MySQL? Compare and contrast the two most popular open source databases
![]() |
•
•
Join Date: Nov 2008
Posts: 4
Reputation:
Solved Threads: 0
I have set up a guestbook on a flash site and the customer has asked for a bad word filter to be incorporated. I have this code for it:
Where in the following code should this be inserted, please:
Is it after the submit POST [submit] section?
Grateful for any help.
PHP Syntax (Toggle Plain Text)
[php] $bad_words = explode('|', 'badword1|badword2|badword3|etc|etc'); foreach ($bad_words as $naughty) { $comments = eregi_replace($naughty, "#!@%*#", $comments); } [/php]
Where in the following code should this be inserted, please:
PHP Syntax (Toggle Plain Text)
// Part Two - Choose what action to perform $action = $_GET['action']; switch($action) { case 'read' : // Fetch all comments from database table $sql = 'SELECT * FROM `' . $table . '`'; $allComments = mysql_query($sql, $DBConn) or die("Error in GuestBook Application: " . mysql_error()); $numallComments = mysql_num_rows($allComments); // Fetch page-wise comments from database table $sql .= ' ORDER BY `time` DESC LIMIT ' . $_GET['NumLow'] . ', ' . $numComments; $fewComments = mysql_query($sql, $DBConn) or die("Error in GuestBook Application: " . mysql_error()); $numfewComments = mysql_num_rows($fewComments); // Generate Output for Flash to Read print '&totalEntries=' . $numallComments . '&'; print "<br>&entries="; if($numallComments == 0) { print "No entries in the guestbook, as yet.."; } else { while ($array = mysql_fetch_array($fewComments)) { $name = mysql_result($fewComments, $i, 'name'); $email = mysql_result($fewComments, $i, 'email'); $comments = mysql_result($fewComments, $i, 'comments'); $time = mysql_result($fewComments, $i, 'time'); print '<b>Name: </b>' . $name . '<br><b>Email: </b>' . $email . '<br><b>Comments: </b>' . $comments . '<br><i>Date: ' . $time . '</i><br><br>'; $i++; } } // Print this only when there aren't any more entries.. if($_GET['NumLow'] > $numallComments) { print 'No More Entries!&'; } break; case 'write' : // Recieve Variables From Flash $name = ereg_replace("&", "%26", $_POST['yourname']); $email = ereg_replace("&", "%26", $_POST['youremail']); $comments = ereg_replace("&", "%26", $_POST['yourcomments']); $submit = $_POST['submit']; // Current system date in yyyy-mm-dd format $submitted_on = date ("Y-m-d H:i:s",time()); // Check if its submitted from Flash if($submit == 'Yes'){ // Insert the data into the mysql table $sql = 'INSERT INTO ' . $table . ' (`ID`, `name`, `email`, `comments`, `time` ) VALUES (\'\',' . '\'' . $name . '\',' . '\'' . $email . '\',' . '\'' . $comments . '\',' . '\'' . $submitted_on . '\' )'; $insert = mysql_query($sql, $DBConn) or die("Error in GuestBook Application: " . mysql_error());
Is it after the submit POST [submit] section?
Grateful for any help.
I would assume you want to put this before for insert the data into the database, so withing the write part of the switch before the SQL query.
AJAX is not a programming language, scripting language or any other sort of language.
It is acheived by using JavaScript http functions.
So, AJAX = JavaScript.
It is acheived by using JavaScript http functions.
So, AJAX = JavaScript.
•
•
Join Date: Nov 2008
Posts: 4
Reputation:
Solved Threads: 0
Thank you so much. I put it here:
and it worked a treat. I did alter badword1 etc. with real words. Now just need to sit down and think of the worst words I can.
Marvellous, you're a star.
PHP Syntax (Toggle Plain Text)
// Print this only when there aren't any more entries.. if($_GET['NumLow'] > $numallComments) { print 'No More Entries!&'; } break; case 'write' : // Recieve Variables From Flash $name = ereg_replace("&", "%26", $_POST['yourname']); $email = ereg_replace("&", "%26", $_POST['youremail']); $comments = ereg_replace("&", "%26", $_POST['yourcomments']); $submit = $_POST['submit']; $bad_words = explode('|', 'badword1|badword2|badword3|etc|etc'); foreach ($bad_words as $naughty) { $comments = eregi_replace($naughty, "#!@%*#", $comments); } // Current system date in yyyy-mm-dd format $submitted_on = date ("Y-m-d H:i:s",time()); // Check if its submitted from Flash if($submit == 'Yes'){ // Insert the data into the mysql table $sql = 'INSERT INTO ' . $table . ' (`ID`, `name`, `email`, `comments`, `time` ) VALUES (\'\',' . '\'' . $name . '\',' . '\'' . $email . '\',' . '\'' . $comments . '\',' . '\'' . $submitted_on . '\' )';
and it worked a treat. I did alter badword1 etc. with real words. Now just need to sit down and think of the worst words I can.
Marvellous, you're a star.
![]() |
Similar Threads
- The Definitive Guide to which Forum Software Information (Growing an Online Community)
- Reputation abuse (DaniWeb Community Feedback)
- regarding a banned user (delete if inappropriate) (DaniWeb Community Feedback)
- Dirty words filter... (DaniWeb Community Feedback)
- Word filter (DaniWeb Community Feedback)
Other Threads in the PHP Forum
- Previous Thread: php validation before file upload
- Next Thread: Back URL function and keeping search criteria - From Natasha
| Thread Tools | Search this Thread |
# 5.2.10 access action address alexa apache api array auto autoincrement broken cakephp checkbox class classes clean clients cms code cron curl database date dehasher destroy directory dissertation domain dynamic echo$_get[x]changingitintovariable... email encode error errorlog fairness fatalerror file folder form function functions google href htaccess html image include indentedsubcategory ip javascript joomla legislation limit link load local login masterthesis memberships menu multiple multipletables mysql mysqlquery newsletters oop open passwords paypal pdf persist php popup provider query radio random script search secure server sessions simple sockets source space spam sql system table tutorial upload url user variable video voteup web youtube





