"PHP" / Говнокод #5816 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
if (($_GET['var'])==0 and ($_GET['email'])==1 and ($_GET['numbers'])==1)
$label='Вы неправильно указали логин';
elseif (($_GET['var'])==0 and ($_GET['email'])==0 and ($_GET['numbers'])==1)
$label='Вы неправильно указали логин и е-мейл';
elseif (($_GET['var'])==1 and ($_GET['email'])==0 and ($_GET['numbers'])==1)
$label='Вы неправильно указали е-мейл';
elseif (($_GET['var'])==0 and ($_GET['email'])==0 and ($_GET['numbers'])==0)
$label='Вы неправильно указали логин, е-мейл и числовой набор';
elseif (($_GET['var'])==1 and ($_GET['email'])==1 and ($_GET['numbers'])==0)
$label='Вы неправильно указали числовой набор';
elseif (($_GET['var'])==0 and ($_GET['email'])==1 and ($_GET['numbers'])==0)
$label='Вы неправильно указали логин и числовой набор';
else
$label='';

Вывод ошибки

Запостил: Dedan Dedan, (Updated )

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

  • И суповой набор.
    Я всегда думал, что лень - двигатель прогресса. Видимо, такие кодоавторы не понимают, что копипаста отнюдь не "ленивое действие", а только кажется таким.
    Ответить
  • А в ПХП можно так?
    label = switch ($_GET['var'], $_GET['email'], $_GET['numbers']) {
      (0, 1, 1): 'Вы неправильно указали логин'; break;
      (0, 0, 1): 'Вы неправильно указали логин и е-мейл'; break;
      (1, 0, 1): 'Вы неправильно указали е-мейл'; break;
      (0, 0, 0): 'Вы неправильно указали логин, е-мейл и числовой набор'; break;
      (1, 1, 0): 'Вы неправильно указали числовой набор'; break;
      (0, 1, 1): 'Вы неправильно указали логин и числовой набор'; break;
    };
    Ответить
    • Очень, кстати, наглядно. Такой код даже выглядит красиво.
      Ответить
      • только красивее бы тогда уже было
        $label = 'Вы неправильно указали ';
        $label .= switch ($_GET['var'], $_GET['email'], $_GET['numbers']) {
        (0, 1, 1): 'логин'; break;
        (0, 0, 1): 'логин и е-мейл'; break;
        .........
        }
        Ответить
        • Но сработает только
          $label = 'Вы неправильно указали ';
          switch ( array($_GET['var'], $_GET['email'], $_GET['numbers']) ) 
          {
          	case array(0, 1, 1): $label .= 'логин'; break;
          	case array(0, 0, 1): $label .= 'логин и е-мейл'; break;
          	case array(1, 0, 1): $label .= 'е-мейл'; break;
          	case array(0, 0, 0): $label .= 'логин, е-мейл и числовой набор'; break;
          	case array(1, 1, 0): $label .= 'числовой набор'; break;
          	case array(0, 1, 1): $label .= 'логин и числовой набор'; break;
          };
          echo $label;
          Ответить
        • $label = 'Вы неправильно указали:';
          if ($_GET['var'] == 0) $label.= ' логин,';
          if ($_GET['email'] == 0) $label.= ' пароль,';
          if ($_GET['numbers'] == 0) $label.= ' суповой набор,';
          if ($label[$label'last] == ':') then $label = '' else $label[$label'last] = '.';
          Ответить
  • И никого не смутили названия переменных, и что так сравнивать строковые переменные на пустоту - нельзя в принципе?
    Ответить
    • Нет. Потому что - это "похапе", а это мало кого ибёт (кроме тов. Расмуса, возможно).
      Ответить

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

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8