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

    +154

    1. 1
    2. 2
    $username=strtolower($this->username);
    $user=User::model()->find('LOWER(username)=?',array($username));

    чтоб наверняка
    http://yiiframework.ru/doc/blog/ru/prototype.auth

    Запостил: DrFreez, 10 Сентября 2011

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

    • И што тебя тут насмешило, солнышко?
      Ответить
    • В чём лопата?
      Ответить
    • А если юникод в логине?
      Ответить
      • OMG! Юникод в логине! Как он туда проник? Всё же погибнет!
        Ответить
    • видимо @DrFreez думал, что дважды переменная к нижнему регистру приводится... бывает.
      Ответить
      • Маленький еще меньше

        И попробуй возрази
        Ответить
      • Приведения переменной дважды к нижнему регистру тут нет.

        strtolower переводит в нижний регистр $this->username, а LOWER — запись из БД.
        То есть база хранит имена в произвольном регистре, а при сравнении регистр должен игнорироваться.
        Ответить

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