chur » 10 ноя 2004, 15:43
Linux 2.4.20-2.48smp
Apache 2.50.0 mod_perl 1.99
Perl 5.8.0
Есть perl-скрипт. На выходе HTML-страница. Строку запроса разбираю сам и складываю в хеш-массив %params, который объявлен в начале скрипта. Обязательный параметр запроса - fileindex, имеет, соответсвенно, целое числовое значение (по нему находим в базе имя файла над которым надо изголяться). Далее в скрипте это значение используется для формирования аттрибута href тега <A>, примерно так:
<A href= .. &fileindex=$params{'fileindex'}& .. >
Вообщем, ничего особенного, все работает как надо.
Так же на странице присутствет одна или несколько форм для редактирования, у которых есть hidden INPUT тег с именем fileindex и соответсвующим значением. И вот тут начинается самое интересное. Эти формы генерятся в подпрограмме (в том же скрипте) и вышеописанный тег вставляется следующей строкой:
$form .= "<INPUT type=hidden name=fileindex value=$params{'fileindex'}>";
Т.е. в подпрограмме используется значение хеша $params{'fileindex'}. Так вот, это значение почему-то другое :shock: .
Например, на странице несколько ссылок <A> со значением fileindex=8 (правильным) и три формы, в которых fileindex равен, допустим, 6 (во всех формах одинаковое). Особенно настораживает то, что это происходит не всегда, я бы сказал иногда, но если это произошло и в броузере нажать кнопку 'back' и снова ту же ссылку по которой шли дальше, результат идентичен. Еще один момент. Неправильные значения fileindex в формах, не совсем случайны. Они принимают значения индексов недавно просмотренных файлов.
Вот такие вот undocumented features. Приходится передавать в подпрограмму нужные значения как аргументы, вроде все работает как надо.
Linux 2.4.20-2.48smp
Apache 2.50.0 mod_perl 1.99
Perl 5.8.0
Есть perl-скрипт. На выходе HTML-страница. Строку запроса разбираю сам и складываю в хеш-массив %params, который объявлен в начале скрипта. Обязательный параметр запроса - fileindex, имеет, соответсвенно, целое числовое значение (по нему находим в базе имя файла над которым надо изголяться). Далее в скрипте это значение используется для формирования аттрибута href тега <A>, примерно так:
<A href= .. &fileindex=$params{'fileindex'}& .. >
Вообщем, ничего особенного, все работает как надо.
Так же на странице присутствет одна или несколько форм для редактирования, у которых есть hidden INPUT тег с именем fileindex и соответсвующим значением. И вот тут начинается самое интересное. Эти формы генерятся в подпрограмме (в том же скрипте) и вышеописанный тег вставляется следующей строкой:
$form .= "<INPUT type=hidden name=fileindex value=$params{'fileindex'}>";
Т.е. в подпрограмме используется значение хеша $params{'fileindex'}. Так вот, это значение почему-то другое :shock: .
Например, на странице несколько ссылок <A> со значением fileindex=8 (правильным) и три формы, в которых fileindex равен, допустим, 6 (во всех формах одинаковое). Особенно настораживает то, что это происходит не всегда, я бы сказал иногда, но если это произошло и в броузере нажать кнопку 'back' и снова ту же ссылку по которой шли дальше, результат идентичен. Еще один момент. Неправильные значения fileindex в формах, не совсем случайны. Они принимают значения индексов недавно просмотренных файлов.
Вот такие вот undocumented features. Приходится передавать в подпрограмму нужные значения как аргументы, вроде все работает как надо.