За последние 24 часа нас посетили 193585 программистов и 1976 роботов. Сейчас ищут 1938 программистов ...

Обработка поля при регистрации

Тема в разделе "PHP для новичков", создана пользователем bxN5, 29 янв 2010.

  1. bxN5

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

    С нами с:
    15 янв 2009
    Сообщения:
    51
    Симпатии:
    0
    Вообщем нужно, что бы некое значение с поля, при обработке если оно содержит:
    русские буквы символы выводило ошибку (поле логин)
    если то что ввел пользователь начинается с например с '[abc]' - выводило ошибку
    что бы екранировал '
    подозреваю что это нужно делать с помощью регулярок но точно хз
     
  2. bxN5

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

    С нами с:
    15 янв 2009
    Сообщения:
    51
    Симпатии:
    0
    up ну хотя бы по одному какому то пункту помогите
     
  3. engager

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

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    все это решается от обратного - банальная филтрация. пример функции, которая определяет, содерджит ли строка инвалидные символы:

    PHP:
    1. function isStrValid($str) {
    2.   $alpha = 'abcdefghijklmnopqrstuvwxyz01234567890';
    3.   for ($i=0; $i<strlen($str);$i++)
    4.     if (strpos($alpha, $str[$i]) == 0) return false;
    5.   return true;
    6. }
    7.  
     
  4. Simpliest

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

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    engager
    не делай так больше.
    Идея фильтрации/валидации может и не плоха, но это один из худших примеров кода, который можно было придумать.
     
  5. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    1) Определитесь что можно вводить в поле. Пока это все кроме русских букв. Сильно сомневаюсь, что логин может иметь вид.
    Код (Text):
    1. :;?:*(%;:")%/,<>@
    2) Определитесь что может быть на первом месте. Пока это все кроме открывающей квадратной скобки.
    3) Определитесь зачем экранировать '.
    3.1) Если не для БД, то определитесь чем экранировать '.

    за 30 минут (включая некое наведение красоты и поиск в мануале) без проблем создается скрипт подобие того что нужно.
    Прибавьте час на курение регулярных выражений в нужном объеме.