1. PHP / Говнокод #6596

    +170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $letters = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z");
        foreach($letters as $x){
              if(strpos($_POST['integers'], $x)){
                   die("No letters Please!");
        }
    }

    Проверка переменной, нет ли в ней чего-нибудь кроме цифр.
    Комментарий автора улыбнул ещё больше: "There might be a few bugs"
    Источник: http://forums.tizag.com/showthread.php?t=2939

    Запостил: Axell, 08 Мая 2011

    Комментарии (11) RSS

    • Видать про существование регулярных выражений, автор даже не подозревает... '#([0-9]*?)#'
      Ответить
      • Про существование is_numeric() гуэсты даже не подозревают.
        Ответить
        • Ну, is_numeric() вообще-то пропустит не только цифры, но и дроби (т.е. числа с точкой), научную форму записи (типа "+123.456e10") и т.д. Для проверки на цифры лучше использовать ctype_digit(); Пошустрее регулярки будет ;-)
          Ответить
    • Даже не зная про регулярные выражения и is_numeric() можно было немного пораскинуть мозгами и сделать массив из чисел и верять по нему...
      Ответить
    • Даже не зная про регулярные выражения и is_numeric()...
      можно было бы, например, помножить на 1 и сравнить с исходным
      Ответить
      • Всё равно всё это велосипед на велосипеде. Читабельность всего этого дела будет на нуле :)
        Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий