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

    +45

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function Login($user_login, $user_password) {
            if (isset($user_loginl) && isset($user_password)) {
                $user = $this->mongo_db->get_where('users', array(
                    'EMAIL' => $user_email,
                    'PASSWORD' => $user_password)
                );            
                if (isset($user->email)) {
                    return true;
                }
            }
            return false;
        }

    Из категорий, нет ошыбок но почемуто не работает!

    Запостил: dzen, 07 Сентября 2012

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

    • >user_loginl
      Это, что ли? Ну да, динамические языки не придираются к опечаткам...
      Ответить
      • Логинил логинил да не вылогонил.
        Ответить
      • В общем случае придираются. То, что пыхеры не читают нотисы - это их личные проблемы.

        В данном же случае эта ошибка, действительно, не обнаружится.
        Ответить
        • Дзен с такими "ошыбка"ми ему не познать.
          Ответить
          • код не мой, нашол в одной из моделей CodeIgniter, автор кода неизвестен
            Ответить
    • 'EMAIL' => $user_email,
      Так нужен же $user_login !
      Ответить
    • ко всему прочему - как я понимаю, isset($user_password) всегда будет true
      Ответить
      • Нет, я тоже так думал. Потом в одном из тредов выяснилось, что если $user_password содержит null - isset тоже вернет false.

        Ссылка на тот тред:
        http://govnokod.ru/11659#comment152129
        Ответить
        • на null есть отдельная функция is_null
          Ответить
          • Да, но всё равно isset вернёт таки false если там null. :) У Борманда нет ссылки на офф, поэтому дополню: http://www.php.net/manual/en/function.isset.php
            Returns TRUE if var exists and has value other than NULL, FALSE otherwise.
            Ответить
          • Если переменной нет, пых возвращает нулл при попытке обращения.
            var_dump($undeclared_var); // NULL

            соответственно isset($undeclared_var) вернет FALSE.
            Ответить

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