| | |
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 |
action address ajax apache api array auto autoincrement beginner binary broken cakephp checkbox class classes cms code cron curl database date dehasher display domain dynamic echo email error errorlog fatalerror file files folder form format forms function functions google href htaccess html image include insert interactive ip java javascript joomla limit link load login mail malfunctioning masterthesis menu mlm multiple mysql nodes oop paypal pdf php popup problem query radio ram random record recursion reference remote return script search server sessions sms source space sql syntax system table tutorial unset update upload url validation validator variable video web websitecontactform youtube





