這裏是我的嘗試創建禁用的文字工具,但在最後一步我得到錯誤。被禁止的文字應用程序
1 - 創建簡單的形式來輸入字被禁止(ban.php)
<form name="form" method="post" action="add.php">
<textarea name="bad" id="bad"></textarea>
<input type="submit" name="submit" id="submit" size="12" value="submit">
</form>
2 - 現在將發佈它通過分貝(add.php)
//DB Connection
require_once("config.php");
$bad = $_POST['bad'];
$bad = mysql_real_escape_string($bad);
$bad = nl2br($bad);
$bad = explode("<br />",$bad);
foreach ($bad as $value)
{
$sql = "update my_table set words='$value'";
mysql_query($sql, $conn) or die(mysql_error());
}
echo "Done words added";
3-現在如何應用它!檢查我不能做的地方! 我想說當$test="shit";
然後,如果$test == any of the words added
然後給予禁止的消息,如果沒有,然後給予傳遞的消息。
<?php
//DB Connection
require_once("config.php");
//example
$test = "shit";
$qry = "select * from my_table";
$result = mysql_query($qry) or die($qry);
$line = mysql_fetch_array($result);
$words = nl2br($line['words']);
$words = str_replace('<br />', '', trim($words));
if ($test == $words)
{
echo "bannd";
}
else
{
echo "passed";
}
問題是我不知道如何與每一個字,因爲所有添加的比較$test
存儲在DB這樣
INSERT INTO `my_table` VALUES (1, 'bad\r\nshit\r\ndrugs');
所以任何幫助〜謝謝
這裏的問題是你的數據庫。每個單詞應該有它自己的行。將它們組合成「壞\ r \ nshit \ r \ ndrugs」這樣的塊會給你帶來無窮的問題。 – 2012-02-24 18:00:44
好吧,我的想法是在單次提交中添加許多單詞很容易,但我想你的回覆我可能會開始考慮輸入文本每行提交一個單詞,並可能使用ajax以及ummm感謝您的幫助。 – 2012-02-24 18:18:43
只有很多人想要禁止這麼多的詞(相對較小的數據集),只要您管理詞彙以避免重複,它應該可以很好地發揮作用。 – 2012-02-24 18:21:52