|
|
|
|
|
для: m@rchello
(24.06.2008 в 19:05)
| | определить критерий, который бы позволил отличить плохие слова от хороших. | |
|
|
|
|
|
|
|
для: Trianon
(24.06.2008 в 18:33)
| | >>но если я сам добавляю кракозябры, то само сабой эти же кракозябры и остаются ....
>
>Так а что Вы хотите?
>Вы добавляете слово - оно добавляется. Цензуре эти слова Ваш скрипт не подвергает.
это и так понятно ..... потому то я и спрашиваю как отследить символы!?=( | |
|
|
|
|
|
|
|
для: m@rchello
(24.06.2008 в 14:07)
| | >Да header("Content-type: text/html ; charset=utf-8"); это есть .......
>Отладочный вывод уже делал ...... и когда я сам записи добавляю ...... всё работает норм и русские и английские символы ......
То есть всё работает.
>но если я сам добавляю кракозябры, то само сабой эти же кракозябры и остаются ....
Так а что Вы хотите?
Вы добавляете слово - оно добавляется. Цензуре эти слова Ваш скрипт не подвергает. | |
|
|
|
|
|
|
|
для: Trianon
(20.06.2008 в 19:51)
| | Да header("Content-type: text/html ; charset=utf-8"); это есть .......
Отладочный вывод уже делал ...... и когда я сам записи добавляю ...... всё работает норм и русские и английские символы ...... но если я сам добавляю кракозябры, то само сабой эти же кракозябры и остаются ....
А возможно ли отследить добавление кракозяблов?
Тоесть допустим разрешить добавление только русских (чистых), латинских символов знака "-" и цифр?
что касается SQL-injection, не досмотрел ...... закрыл mysql_escape_string() | |
|
|
|
|
|
|
|
для: m@rchello
(20.06.2008 в 18:27)
| | Что не конвертируете - правильно.
Методика добавления у Вас крайне тормозная, но без особых ляпов.
Из-за отсутствия экранирования конечно существует нарушение работы на кавычках и обратных слэшах, уязвимость SQL-injection, (как минимум при выключенных magic quotes), но такой эффект, как у Вас, это всё давать не должно.
А если прямо перед добавлением влепить отладочный вывод:
if (!mysql_num_rows($query))
{
echo "New tag: $tag<br>\r\n";
$sql = "INSERT INTO `m_tags` (`tag`) VALUES ('" . $tag . "')";
|
то в нем тоже кракозябры ползут?
Вы говорите, что страница с формой у Вас в utf-8.
Там стоит header("Content-type: text/html ; charset=utf-8"); ? | |
|
|
|
|
|
|
|
для: Trianon
(20.06.2008 в 17:42)
| | Конвертировать в utf-8 - нет не конвертирую.......
Страничка с формой в utf-8 ....... там всё в utf-8 ...... в форме поиска ОДНО поле search ....
Форма передаётся методом GET ......
принимаем данные
$search = @$_GET['search'];
$words = explode(' ', $search);
for($i=0;$i<count($words);$i++)
add_tag($words[$i]);
function add_tag($tag)
{
if (strlen($tag)>=3 && strlen($tag)<=30)
{
$sql = "SELECT `id` FROM `m_tags` WHERE `tag`='" . $tag . "'";
$query = mysql_query($sql) or die(mysql_error());
if (!mysql_num_rows($query))
{
$sql = "INSERT INTO `m_tags` (`tag`) VALUES ('" . $tag . "')";
$query = mysql_query($sql) or die(mysql_error());
} else
{
$sql = "UPDATE `m_tags` SET `rating`=(`rating`+1) WHERE `tag`='" . $tag . "'";
$query = mysql_query($sql) or die(mysql_error());
}
}
}
|
вот так вот ..... | |
|
|
|
|
|
|
|
для: m@rchello
(20.06.2008 в 17:19)
| | В переменную $_GET['search'] текст попадает из поля формы некоторой страницы.
Эта страница (с формой) в кодировке utf-8?
[поправлено модератором] | |
|
|
|
|
|
|
|
для: m@rchello
(20.06.2008 в 17:19)
| | $search = $_GET['search']; конвертируете в UTF-8??? | |
|
|
|
|
|
|
|
для: Trianon
(19.06.2008 в 19:19)
| | $search = $_GET['search']; | |
|
|
|
|
|
|
|
для: m@rchello
(19.06.2008 в 19:13)
| | а запрос-то откуда берем? | |
|
|
|
|