Покинул форум
Сообщений всего: 65
Дата рег-ции: Нояб. 2014
Помог: 0 раз(а)
Здравствуйте! Делаю тестовое для приёма на работу и как всегда на самом простом валюсь!
Задача - сделать регистрацию и авторизацию пользователей. Делаю на "чистом" аяксе без джейкверию Кусочек остался, добавление дополнительных сведений о себе. Смотрите:
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Хенаро пишет:
Делаю тестовое для приёма на работу
Нет, готового кода я не дам принципиально.
Хенаро пишет:
эта функция отлично работала и работает в других файлах
Это высказывание ложно.
С указанным набором аргументов, как легко заметить, функция возвращает NULL.
При конкатенации строки с NULL результатом будет что? Объясните самому себе, почему наблюдаемое вами дальнейшее поведение системы является логичным и единственно-возможным.
NULL же из функции можно получить в 3 случаях:
0) если сделан return значения NULL.
1) если сделан return без аргумента, "return;" т.е.
2) если return не был вызван вовсе.
Найдите свой случай.
----- PostgreSQL DBA
Хенаро
Отправлено: 13 Сентября, 2015 - 17:51:01
Гость
Покинул форум
Сообщений всего: 65
Дата рег-ции: Нояб. 2014
Помог: 0 раз(а)
Мелкий пишет:
Хенаро пишет:
эта функция отлично работала и работает в других файлах
Это высказывание ложно.
Как же ложно, отключаю яваскрипт, делаю регистрацию, возвращается
1Неправильный логин, только английские буквы и цифры
Неправильный формат E-mail
Пароль содержит пробелы
Ну если не дашь принципиально, тогда поздравляю
Мелкий
Отправлено: 13 Сентября, 2015 - 18:44:44
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Хенаро пишет:
Как же ложно
Потому что отклонение от желаемого поведения стабильно воспроизводится на каждом запуске. Поведение кода стабильно. Значит, в других местах функция ведёт себя идентично либо там вызывается другая функция.
Следовательно с отключенным JS или другие параметры передаются (например, что-то, приводимое к empty) или вызывается другая функция.
----- PostgreSQL DBA
Хенаро
Отправлено: 13 Сентября, 2015 - 19:05:36
Гость
Покинул форум
Сообщений всего: 65
Дата рег-ции: Нояб. 2014
Помог: 0 раз(а)
Мелкий пишет:
Хенаро пишет:
Как же ложно
Потому что отклонение от желаемого поведения стабильно воспроизводится на каждом запуске. Поведение кода стабильно. Значит, в других местах функция ведёт себя идентично либо там вызывается другая функция.
Следовательно с отключенным JS или другие параметры передаются (например, что-то, приводимое к empty) или вызывается другая функция.
Да в том-то и дело, нет там другой функции validate. С этим кодом бляха, и так обидно, всегда на чём-то самом простом
Panoptik
Отправлено: 13 Сентября, 2015 - 23:18:21
Постоянный участник
Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011 Откуда: Одесса, Украина
Помог: 131 раз(а)
обходя расставленные грабли - теряешь бесценный опыт (с)
ищите ошибку. там всего 3 строчки и советов дано уже более чем
----- Just do it
Хенаро
Отправлено: 15 Сентября, 2015 - 20:51:29
Гость
Покинул форум
Сообщений всего: 65
Дата рег-ции: Нояб. 2014
Помог: 0 раз(а)
Panoptik пишет:
обходя расставленные грабли - теряешь бесценный опыт (с)
ищите ошибку. там всего 3 строчки и советов дано уже более чем
Я просто не понимаю, почему сегодня функция работает, а завтра уже нет..
И даже не знаю как начать думать чтоб до этого додуматься. В самом деле, ну откуда? ну откуда в функции на 3 строки может взяться ошибка, причём скрытая без сигналов.
Проверено: везде работает как надо, только в одном файле косяк выходит
Мелкий
Отправлено: 15 Сентября, 2015 - 22:26:10
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Серьёзно?
Мелкий пишет:
NULL же из функции можно получить в 3 случаях:
0) если сделан return значения NULL.
1) если сделан return без аргумента, "return;" т.е.
2) если return не был вызван вовсе.
Найдите свой случай.
Вы за столько времени не смогли проверить всего 3 причины? В коде из 3 строк?
----- PostgreSQL DBA
DelphinPRO
Отправлено: 15 Сентября, 2015 - 22:30:15
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
смотреть что приходить на вход функции не пробовали?
Если данные не проходят валидацию - изучите, что за данные приходят. Залогируйте если нужно ошибочные проверки в файл и посмотрите.
----- Чем больше узнаю, тем больше я не знаю.
andrewkard
Отправлено: 15 Сентября, 2015 - 23:21:20
Участник
Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014
Помог: 30 раз(а)
Пишите операторы ветвления с фигурными скобками, так код более понятен.
Логичнее, что бы данная функция выдавала не сообщение, а true либо false, как результат проверки.
DelphinPRO
Отправлено: 16 Сентября, 2015 - 01:51:48
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
andrewkard так вот где собака зарыта )
действительно, с правильным форматированием сразу видно почему функция может вернуть null
----- Чем больше узнаю, тем больше я не знаю.
Panoptik
Отправлено: 16 Сентября, 2015 - 11:58:03
Постоянный участник
Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011 Откуда: Одесса, Украина
Помог: 131 раз(а)
всем кто помог дать прямой ответ - жирный минус.
как минимум помогли человеку НЕ научиться разбираться с кодом, искать ошибки, отлаживать, и приучили бегать на форум по любому мелочному поводу
----- Just do it
Хенаро
Отправлено: 16 Сентября, 2015 - 13:47:52
Гость
Покинул форум
Сообщений всего: 65
Дата рег-ции: Нояб. 2014
Помог: 0 раз(а)
Panoptik пишет:
всем кто помог дать прямой ответ - жирный минус.
как минимум помогли человеку НЕ научиться разбираться с кодом, искать ошибки, отлаживать, и приучили бегать на форум по любому мелочному поводу
Ничёсе мелочи! И никто не дал, не волнуйся ты так
И я в жизни никогда, слышите, НИКОГДА не пойму почему в ней получается пустое value
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.