За последние 24 часа нас посетили 36637 программистов и 1711 роботов. Сейчас ищут 856 программистов ...

Валидация

Тема в разделе "PHP для новичков", создана пользователем Panich, 16 авг 2012.

  1. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Код (Text):
    1. function antimat()
    2. {
    3.     $s = '[^\wа-я]*?';
    4.     $cenzur = '<font color=\"red\">\"РОМАШКА\"<font>';
    5.     $ArrayPattern = array(
    6.     '[^вvw]'.$s.'[еeё]'.$s.'[бb]',
    7.     '[eе]'.$s.'[бb]'.$s.'[aа]',
    8.     '[лl]'.$s.'[оo0]'.$s.'[хxh]',
    9.     '[еe]'.$s.'[лl]'.$s.'[дd]'.$s.'[аa@]',
    10.     '[мm]'.$s.'[uyу]'.$s.'[дd]'.$s.'[^рpr]',
    11.     '[пp]'.$s.'[иiеe]'.$s.'[зz3]'.$s.'[дd]',
    12.     '[^ю]'.$s.'[бb]'.$s.'[лl]'.$s.'(?:я|ja|j@)',    
    13.     '[мm]'.$s.'[аa@оo0]'.$s.'[нn]'.$s.'[дd]',
    14.     '[дd]'.$s.'[rpр]'.$s.'[аa@оo0]'.$s.'(?:[ч4]|ch|сh)',
    15.     '[хxh]'.$s.'[уyuеe]'.$s.'(?:[ийijрprеёeяюлl]|ja|jа|ju|jи)',
    16.     '[зz3]'.$s.'[аa@]'.$s.'[лl]'.$s.'[уyu]'.$s.'[пp]',
    17.     '[гg]'.$s.'[аa@оo0]'.$s.'[нn]'.$s.'[дd]'.$s.'[оo0]',
    18.     '[пp]'.$s.'[иiеe]'.$s.'[дd]'.$s.'[аa@оo0иiрpr]'.$s.'[^гgфf]',
    19.     '[жg]'.$s.'[оo0]'.$s.'[пp]',
    20.     '[чhс4]'.$s.'[лl]'.$s.'[еe]',
    21.     '[cсs]'.$s.'[уyu]'.$s.'[к4чk]'.$s.'[аиуuyiak]',
    22.     '[бb]'.$s.'[лL]'.$s.'[яеey]',
    23.     );
    24.     foreach($ArrayPattern as $key => $value)
    25.     {
    26.     $Pattern[] = '/(.*?)(?:[^\s]*' . $value . '[^\s]*)(.*?)/is';
    27.     }
    28.     $no_mat =  preg_replace($Pattern , "\\1". $cenzur . "\\2", $massage);
    29.     return $no_mat;
    30. }
    31. $name = antimat($name);  
    32. $sity = antimat($sity);
    33. $massage = antimat($message);
    Подскажите,пожалуйста,почему переменные имени и города вообще в базу записываются пустыми,а сообщение валидацию не проходит!?
    Не получается найти ошибку!
    Спасибо!

    Разобрался,что одну букву перепутал в названии переменной-в этом проблема...как всегда!
    Да вот только теперь не пойму почему в базу вставляет:<font <font <font <font <font color='red'>"РОМАШКА"<font>?
    Вот точно сам не разберусь!
     
  2. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Товарищи,ну помогите разобраться-не получается сделать...(
     
  3. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Кстати,если вдруг кому интересно,а ведь так у меня ничего и не заработало-всё ещё нужна помощь!
     
  4. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Первое, что бросается в глаза: функция объявлена без параметров
    Код (Text):
    1. function antimat()
    , но вы передаёте ей что-то при вызове
    Код (Text):
    1. $name = antimat($name);
    Так задумано?
     
  5. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Спасибо большое!!!Вы,конечно,правы но основная причина была в "/uis",без которого не работал utf-8!!!