Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Kак запретить ввод определенных слов в форму 
:(
    Опции темы
Kex
Дата 12.10.2009, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 2.10.2008

Репутация: нет
Всего: нет



Ребят, как запретить ввод определенных слов и словоформ в форму! Например, админ, администратор, администраторша и т.д. при помощи рекурсивных выражений!
PM MAIL   Вверх
nerezus
Дата 12.10.2009, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Каких выражений?
Запретить никак. можно проверить.
РЕГУЛЯРными выражениями.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Kex
Дата 12.10.2009, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 2.10.2008

Репутация: нет
Всего: нет



Проверить, и потом если введенное слово соответствует запретному - вывести сообщение "Введите другое слово, это слово запрещено к использованию"
Конечно можно cравнить введенное слово со стоп-словом, но если словоформ много всех не перечислишь!!
PM MAIL   Вверх
Kirill89
Дата 12.10.2009, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: нет
Всего: 4



Объясните пожалуйста, это будет мат-фильтор? или что?


--------------------
PM MAIL WWW   Вверх
Kex
Дата 12.10.2009, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 2.10.2008

Репутация: нет
Всего: нет



Типа того, надо сказать пользователю, что слово админ и все его словоформы заняты!  

PM MAIL   Вверх
NewDima
Дата 12.10.2009, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



Kex, а можно регаться пользователю под ником _АДМИНИЩЕ_, например?
PM ICQ   Вверх
Kex
Дата 12.10.2009, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 2.10.2008

Репутация: нет
Всего: нет



Цитата(NewDima @ 12.10.2009,  15:02)
Kex, а можно регаться пользователю под ником _АДМИНИЩЕ_, например?

нeт!

Добавлено @ 16:38
Ладна, я тут статью по регулярным выражениям прочитал, вот че получилось.
Может хто разбирается в регулярных выражениях - исправьте, если, что не так.
Код



<?php
$name = $_POST['name'];
if (!Preg_match ("/^*[aA][dD][mM][iI][nN]*+$/",$name)) {
echo "Это имя занято! Используйте другое.";}
else {
exit;}    
?>

Попробывать негде, на работе нет PHP. Приду домой поразбераюсь!

Это сообщение отредактировал(а) Kex - 12.10.2009, 16:44
PM MAIL   Вверх
Strilo4ka
Дата 12.10.2009, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 27.2.2009

Репутация: нет
Всего: нет



Код

<?php
$name = $_POST['name'];
if (preg_match ("/^.*admin.*$/i",$name)) {
echo "Это имя занято! Используйте другое.";}
else {
exit;}    
?>

PM ICQ   Вверх
NewDima
Дата 12.10.2009, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



а Admин, а А_Д_М_И_N?
Я это к чему спрашиваю, чисто риторически.
я бы (так ради удовлетворения извращенных потребностей) удалил все небуквенные символы, затем замени транслитом на русский анлийские, потом к нижнему регистру и в нем искал бы русский "админ".
Код

$name = "_Ad_M!n";
$name = strtolower($name);
$langrep = array(
  '!' => 'и',
  '1' => 'и',
  '|' => 'и',
  '@' => 'а',
  '|\|' => 'н',
  'a' => 'а',
  'd' => 'д',
  'm' => 'м',
  'i' => 'и',
  'n' => 'н'
);
$name = strtr($name, $langrep);
$name = preg_replace('#[^a-zа-я]#ui', '', $name);
var_dump($name);

типо такого
PM ICQ   Вверх
Kex
Дата 12.10.2009, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 2.10.2008

Репутация: нет
Всего: нет



Мой ранее приведенный код чуть неправильный был, а вот Strilo4ka, правльно написала. Я чуть чуть код модифицировал, и вот рабочий код. Правда он не совершенен, но слово админ (admin) и его словоформы фильтрует.
Код

if (!preg_match ("/^.*[aAаА][dDдД][mMмМ][iIиИ][nNнН].*$/i",$author)) {
echo "&nbsp;";
}
else 
{
exit ("<p>Это имя нельзя использовать! Введите пожалуйста другое имя!! <br><input name='Back' type='button' value='Вернутся назад' onclick='javascript:history.back();'>");
} 


Правда этот код не учитывает символов. Вариант приведенный 
NewDima, интереснее, надо над ним поработать.

Это сообщение отредактировал(а) Kex - 12.10.2009, 21:32
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0592 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.