При добавлении нового автора, автору присваеваеться неверный ID по такой схеме: 1, 2, 12, 112, 1112, 11112 и т.п.
Я довольно сильно изменил код скрипта и такой глюк может быть связан именно с этим. Меня интересует место, где в коде присваеваеться номер автора, т.е. где может быть ошибка.
В admin.cgi я нашёл повторяющююся строку
elsif ($in{\'save_new_author\'}) {&save_author;}
это выглядит так:
#....AUTHORS
elsif ($in{\'add_author\'}) {&add_author;}
elsif ($in{\'modify_author\'}) {&add_author;}
elsif ($in{\'save_mod_author\'}) {&save_author;}
[COLOR=red]elsif ($in{\'save_new_author\'}) {&save_author;}[/COLOR]
elsif ($in{\'view_author\'}) {&author_info;}
[COLOR=red]elsif ($in{\'save_new_author\'}) {&save_author;}[/COLOR]
elsif ($in{\'delete_author\'}) {&delete_author;}
но такое присутствует в изначальном варианте скрипта и исправление не помогло.
(Кстати это ошибка или так и должно быть?)