Некорректное имя поля «username»

Некорректное имя поля «username»

от Dark Ильинский -
Количество ответов: 17

Добрый день! Помогите разобраться, при загрузке пользователей через csv файл выбивает ошибку - Некорректное имя поля «username», причём эту же ошибку выбивает даже с файлом примером example.csv. Пробовал и разные кодировки, и разные разделители выбивает одну и туже ошибку. Как вообще username может быть некорректным именем поля, просто голова кругом. Заранее спасибо 

В ответ на Dark Ильинский

Re: Некорректное имя поля «username»

от Maxim Ast -
А если выгрузить пользователя и загрузить?
В ответ на Maxim Ast

Re: Некорректное имя поля «username»

от Dark Ильинский -
Выгрузил одного пользователя, сначала система руганулась на столбец id, когда удалил столбец id, стала снова ругаться на username
В ответ на Maxim Ast

Re: Некорректное имя поля «username»

от Dark Ильинский -
Причём заметил если удалить все столбцы кроме lastname и firstname, тогда файлик проходит, но толку от этого, если пароли, емэйлы и логины не прописываются.
В ответ на Dark Ильинский

Re: Некорректное имя поля «username»

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
В ответ на Виталий Лавров

Re: Некорректное имя поля «username»

от Dark Ильинский -
Ругается именно на столбцы username, password и email. Я пробовал их переставлять местами(ставить в конец их), lastname, firstname и middlename проходят спокойно. Я уже даже не знаю куда лезть смотреть, в плагинах я не нашёл настройку конкретно массовой загрузки, во всех выгрузках студентах столбец username присутствует. Да и суперстарнно, что даже предложенный самим мудлом файлик в качестве примера который, тоже не проходит, просто бред какой-то 
В ответ на Dark Ильинский

Re: Некорректное имя поля «username»

от Maxim Ast -
Давай выгруженный CSV с одним пользователем. У себя грузану. чтобы исключить проблему в файле.
exampl и у меня выгруженный назад не хочет, но с другой ошибкой.
В ответ на Maxim Ast

Re: Некорректное имя поля «username»

от Dark Ильинский -

Ну вот например, кодировка utf-8, разделитель ; 

В ответ на Dark Ильинский

Re: Некорректное имя поля «username»

от Evgeniy Schuetz -
Прошу прощения, а нет ли у вас в параметрах безопасности ограничений на используемое username - длина, большие, малые буквы, спецсимволы и т.п.
В ответ на Dark Ильинский

Re: Некорректное имя поля «username»

от Maxim Ast -
Ваш файл загрузился без проблем.
Я повторил ошибку. Ругается именно на название столбца "username", т.е. если я переименовываю столбец в "username1" получаю вашу ошибку.
Как бы у меня варианты в голове не появляются.
Если исключить варианты что правили код и таблицы. То надо проверять, наверное, целостность файлов и смотреть на корректность БД.
Уже самому интересно, может есть еще у кого-то варианты?
В ответ на Maxim Ast

Re: Некорректное имя поля «username»

от Dark Ильинский -
Мне это счастье досталось от другого человека, до которого уже не достучаться. Слишком глубоко лезть тоже стрёмно, так как от этого зависит работа целого ВУЗа.
В ответ на Dark Ильинский

Re: Некорректное имя поля «username»

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
Замечательно загружается ваш пример.
А не пробовали включить отладку и повторить загрузку? Может проблема не в файле.
В ответ на Виталий Лавров

Re: Некорректное имя поля «username»

от Dark Ильинский -

Вот, что пишет в режиме отладки. Кто может помочь разобраться? 

В ответ на Dark Ильинский

Re: Некорректное имя поля «username»

от Dark Ильинский -
В ответ на Dark Ильинский

Re: Некорректное имя поля «username»

от Maxim Ast -
А посмотри в поля профиля пользователя, может там что-то найдешь, похоже на них ругается, но как-то при загрузке, если их нет, то и нет, проблем небыло.
В ответ на Maxim Ast

Re: Некорректное имя поля «username»

от Dark Ильинский -
Не совсем понял куда смотреть, просто даже если удалить колонку username, такую же ошибку выдаёт и по полю password, т.е. проблема явно не только в логинах, также и по email. Проходят только ФИО 

В ответ на Dark Ильинский

Re: Некорректное имя поля «username»

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
Очень странно. Проблема явно нестандартная.
А на чём у вас запущен moodle ?
Есть подозрение, что на вашем сервере что-то не так с настройкой php.
Нужно убедиться, что у вас в php есть расширение mbstring и оно использует utf-8 по умолчанию (см. администрирование/сервер/информация о php).

IMHO без расшрения mbstring moodle просто не должен работать (раньше не работал), но костыли в коде говорят, что без него тоже будет работать с использованием какой-то встроенной библиотеки.
На сколько оно "рабочее" я не знаю.

Чтобы понять что происходит можно временно подправить код:
в файле admin/tool/uploaduser/locallib.php найти строку:
print_error('invalidfieldname', 'error', $returnurl, $field);
Перед ней вставить код:
echo '<pre>',print_r($columns,1).print_r($stdfields,1),'</pre>';

А в самой строке заменить $field на $lcfield

И с этими изменениями попробовать загрузит csv файл.

Потом исправить назад.