Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Web Ирбис и Z-Ирбис :  ИРБИС Irbis
 
Непостоянные ссылки
Пользователь: PGSHA (IP-адрес скрыт)
Дата: 28, April, 2021 10:34

Добрый день! У нас возникла проблема – созданы кнопки-ссылки на результат поиска собственных электронных ресурсов (отдельная база), изменила файл author и author_3, все работает, но периодически вылетает, приходится постоянно корректировать файлы. Если правильно понимаю, ссылка получилась непостоянная. Возможно, ли как-то решить проблему, программистов, к сожалению, своих программистов у нас нет. [IBBIS64+ 2018, WEB – той же версии]

Re: Непостоянные ссылки
Пользователь: SokV (IP-адрес скрыт)
Дата: 28, April, 2021 11:30

Здравствуйте! Для начала расскажите о вашей доработке, какая задумка, и что поменяли в указанных файлах в качестве реализации задуманного, тогда постараемся что то посоветовать. Пока что ничего не понятно, что за ссылки, как они получаются и используются, и что это за постоянное корректирование файлов, что и почему вам приходится корректировать.

Re: Непостоянные ссылки
Пользователь: PGSHA (IP-адрес скрыт)
Дата: 28, April, 2021 12:06

Спасибо за отклик! В Web выбрала БД Электронных ресурсов - скопировала и вставила адрес в файлы (прилагаю). Ссылка на наш Web-ИРБИС -
[irbis.psaa.ru]

Вложения: author_3.frm (9.5KB)   author.frm (6.6KB)  
Re: Непостоянные ссылки
Пользователь: SokV (IP-адрес скрыт)
Дата: 28, April, 2021 13:22

Когда вы получаете таким образом ссылку, то в ссылке имеется параметр z21id= и код, который используется для авторизации. Через определенное время старый код перестаёт работать, наверное вас при переходе по ссылке начинает перебрасывать на страницу авторизации.

Я чуть позже напишу тут рекомендацию, что вы можете сделать с этим. Заодно посмотрю повнимательнее ваши файлы, я вообще удивлён, что так как вы указали ссылки они вообще работают хоть какое то время (если работают).

Re: Непостоянные ссылки
Пользователь: PGSHA (IP-адрес скрыт)
Дата: 28, April, 2021 17:37

Владимир, спасибо большое за внимание!
Да, дествительно, происходит переброс на стартовую страничку.
А то, что не корректно указана ссылка, оспаривать совсем не буду...
Ссылка результата поиска получена с авторизацией "ГОСТь".
В идеале хотелось бы чтобы ссылка работала и на авторизованного пользователя с соответствующим доступом, к сожалению, с эти совсем не разобралась...

Re: Непостоянные ссылки
Пользователь: SokV (IP-адрес скрыт)
Дата: 29, April, 2021 14:34

Мне сложно дать вам готовый ответ, и чтобы вам было понятным что и как делается, и чтобы вы могли сделать правильно своими руками, я распишу пошагово, что нужно изменить в вашей ссылке на примере, чтобы её улучшить, сделать рабочей. Сделаем это напримере ссылки из author_3.frm, которая будучи расположенной в теге <a> выглядит у вас так:
<a href="http://irbis.psaa.ru/cgi-bin/irbis64r_plus/cgiirbis_64_ft.exe?C21COM=S&FT_PARAMS=&P21DBN=ELECTRLIBRARY&Z21ID=1123U5S832T9E6G016&S21FMT=briefHTML_ft&USES21ALL=0&S21ALL=(<.>COLLT%3D07<.>)&FT_S21STR=&FT_S21LOG=4&FT_S21P03=K%3D&FT_S21P01=3&COM_S21STR=&SEARCH_STRING=&FT_NEAR_MFN=&FT_DISTANCE=&FT_NEARLEVEL=&FT_CONTEXT=&FT_REQUEST=&FT_PREFIX=K%3D&S21CNR=5&S21REF=10&S21SRD=&S21SRW=&S21SCAN=&S21COLORTERMS=1&I21DBN=ELECTRLIBRARY_FULLTEXT&USE_TAGS_IN_SEARCH=&FT_RESTRICT=1&isPersonalPanelOn=1&variant_search_field_selector=%7B%20"field_type"%20%3A%20"select"%2C%20"parameters"%20%3A%20"S21P01%3D2%26S21P03%3DCOLLT%3D"%2C%20"source"%20%3A%20"source_mnu%3ACOLLT.mnu"%20%7D&NAME_main=&A1_main=&A34_main=&VAR_main=07&CHECK21=&AVT=&DAT_S21P06=&DAT_S21P07=&DP_S21P06=&DP_S21P07=&CHECKINDEX=&S21STN=1&side_search_panel_info=&block_cache=0.8142580265062294&">
Здесь есть проблема в том, что внутри href="" не могут встречаться двойные кавычки, иначе получается путаница и непонятно где двойная кавычка открыта, а где закрыта. А в вашей ссылке двойные кавычки встречаются.
Поэтому вместо href="" с двойными кавычками нужно использовать одинарные вот так href='', то есть получится
<a href='http://irbis.psaa.ru/cgi-bin/irbis64r_plus/cgiirbis_64_ft.exe?C21COM=S&FT_PARAMS=&P21DBN=ELECTRLIBRARY&Z21ID=1123U5S832T9E6G016&S21FMT=briefHTML_ft&USES21ALL=0&S21ALL=(<.>COLLT%3D07<.>)&FT_S21STR=&FT_S21LOG=4&FT_S21P03=K%3D&FT_S21P01=3&COM_S21STR=&SEARCH_STRING=&FT_NEAR_MFN=&FT_DISTANCE=&FT_NEARLEVEL=&FT_CONTEXT=&FT_REQUEST=&FT_PREFIX=K%3D&S21CNR=5&S21REF=10&S21SRD=&S21SRW=&S21SCAN=&S21COLORTERMS=1&I21DBN=ELECTRLIBRARY_FULLTEXT&USE_TAGS_IN_SEARCH=&FT_RESTRICT=1&isPersonalPanelOn=1&variant_search_field_selector=%7B%20"field_type"%20%3A%20"select"%2C%20"parameters"%20%3A%20"S21P01%3D2%26S21P03%3DCOLLT%3D"%2C%20"source"%20%3A%20"source_mnu%3ACOLLT.mnu"%20%7D&NAME_main=&A1_main=&A34_main=&VAR_main=07&CHECK21=&AVT=&DAT_S21P06=&DAT_S21P07=&DP_S21P06=&DP_S21P07=&CHECKINDEX=&S21STN=1&side_search_panel_info=&block_cache=0.8142580265062294&'>
Далее в ccылке вместо Z21ID=1123U5S832T9E6G016 нужно использовать Z21ID=GUEST, получается вот что:
<a href='http://irbis.psaa.ru/cgi-bin/irbis64r_plus/cgiirbis_64_ft.exe?C21COM=S&FT_PARAMS=&P21DBN=ELECTRLIBRARY&Z21ID=GUEST&S21FMT=briefHTML_ft&USES21ALL=0&S21ALL=(<.>COLLT%3D07<.>)&FT_S21STR=&FT_S21LOG=4&FT_S21P03=K%3D&FT_S21P01=3&COM_S21STR=&SEARCH_STRING=&FT_NEAR_MFN=&FT_DISTANCE=&FT_NEARLEVEL=&FT_CONTEXT=&FT_REQUEST=&FT_PREFIX=K%3D&S21CNR=5&S21REF=10&S21SRD=&S21SRW=&S21SCAN=&S21COLORTERMS=1&I21DBN=ELECTRLIBRARY_FULLTEXT&USE_TAGS_IN_SEARCH=&FT_RESTRICT=1&isPersonalPanelOn=1&variant_search_field_selector=%7B%20"field_type"%20%3A%20"select"%2C%20"parameters"%20%3A%20"S21P01%3D2%26S21P03%3DCOLLT%3D"%2C%20"source"%20%3A%20"source_mnu%3ACOLLT.mnu"%20%7D&NAME_main=&A1_main=&A34_main=&VAR_main=07&CHECK21=&AVT=&DAT_S21P06=&DAT_S21P07=&DP_S21P06=&DP_S21P07=&CHECKINDEX=&S21STN=1&side_search_panel_info=&block_cache=0.8142580265062294&'>
Теперь ссылка рабочая, но ещё не всё хорошо.

Лучше начало ссылки заменить
http: //irbis.psaa.ru/cgi-bin/irbis64r_plus/cgiirbis_64_ft.exe
на
<? '<--CGI_PATH-->', ?>
получится
<a href='<? '<--CGI_PATH-->', ?>?C21COM=S&FT_PARAMS=&P21DBN=ELECTRLIBRARY&Z21ID=GUEST&S21FMT=briefHTML_ft&USES21ALL=0&S21ALL=(<.>COLLT%3D07<.>)&FT_S21STR=&FT_S21LOG=4&FT_S21P03=K%3D&FT_S21P01=3&COM_S21STR=&SEARCH_STRING=&FT_NEAR_MFN=&FT_DISTANCE=&FT_NEARLEVEL=&FT_CONTEXT=&FT_REQUEST=&FT_PREFIX=K%3D&S21CNR=5&S21REF=10&S21SRD=&S21SRW=&S21SCAN=&S21COLORTERMS=1&I21DBN=ELECTRLIBRARY_FULLTEXT&USE_TAGS_IN_SEARCH=&FT_RESTRICT=1&isPersonalPanelOn=1&variant_search_field_selector=%7B%20"field_type"%20%3A%20"select"%2C%20"parameters"%20%3A%20"S21P01%3D2%26S21P03%3DCOLLT%3D"%2C%20"source"%20%3A%20"source_mnu%3ACOLLT.mnu"%20%7D&NAME_main=&A1_main=&A34_main=&VAR_main=07&CHECK21=&AVT=&DAT_S21P06=&DAT_S21P07=&DP_S21P06=&DP_S21P07=&CHECKINDEX=&S21STN=1&side_search_panel_info=&block_cache=0.8142580265062294&'>

И теперь чтобы ссылка стала работать под тем пользователем, под которым был сделан вход, нужно заменить
Z21ID=GUEST
на
Z21ID=<? &uf('+3E',v2225), ?>
и получится
<a href='<? '<--CGI_PATH-->', ?>?C21COM=S&FT_PARAMS=&P21DBN=ELECTRLIBRARY&Z21ID=<? &uf('+3E',v2225), ?>&S21FMT=briefHTML_ft&USES21ALL=0&S21ALL=(<.>COLLT%3D07<.>)&FT_S21STR=&FT_S21LOG=4&FT_S21P03=K%3D&FT_S21P01=3&COM_S21STR=&SEARCH_STRING=&FT_NEAR_MFN=&FT_DISTANCE=&FT_NEARLEVEL=&FT_CONTEXT=&FT_REQUEST=&FT_PREFIX=K%3D&S21CNR=5&S21REF=10&S21SRD=&S21SRW=&S21SCAN=&S21COLORTERMS=1&I21DBN=ELECTRLIBRARY_FULLTEXT&USE_TAGS_IN_SEARCH=&FT_RESTRICT=1&isPersonalPanelOn=1&variant_search_field_selector=%7B%20"field_type"%20%3A%20"select"%2C%20"parameters"%20%3A%20"S21P01%3D2%26S21P03%3DCOLLT%3D"%2C%20"source"%20%3A%20"source_mnu%3ACOLLT.mnu"%20%7D&NAME_main=&A1_main=&A34_main=&VAR_main=07&CHECK21=&AVT=&DAT_S21P06=&DAT_S21P07=&DP_S21P06=&DP_S21P07=&CHECKINDEX=&S21STN=1&side_search_panel_info=&block_cache=0.8142580265062294&'>

Здесь замены после Z21ID специально сделаны в два этапа, от простого к сложному, чтобы сначала простой заменой получить работающий вариант, а потом отталкиваясь от рабочего варианта делать следующую чуть более сложную замену. Если проверять работоспособность ссылки после каждого шага, то сразу будет понятно на каком шаге сделана ошибка. Если сразу сделать все замены, и где то при этом ошибиться, то потом ошибку сложнее найти.

Re: Непостоянные ссылки
Пользователь: SokV (IP-адрес скрыт)
Дата: 29, April, 2021 14:36

Напишите, если у вас получилось, или наоборот возникли какие то проблемы.

Re: Непостоянные ссылки
Пользователь: PGSHA (IP-адрес скрыт)
Дата: 29, April, 2021 16:13

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



Редактировано 1 раз. Последний раз 29.04.2021 17:47 пользователем PGSHA.

Вложения: Рисунок1.png (1.02MB)  
Re: Непостоянные ссылки
Пользователь: PGSHA (IP-адрес скрыт)
Дата: 12, May, 2021 09:44

Добрый день, Владимир!
Проблемный вопрос по второй "кнопке" решился следующим образом:
Вместо - <? '<--CGI_PATH-->', ?>,
вернула ссылку - http: //irbis.psaa.ru/cgi-bin/irbis64r_plus/cgiirbis_64_ft.exe
а Z21ID=GUEST заменила на Z21ID=<? &uf('+3E',v2225), ?>
и все стало корректно работать, согласно авторизации.
Еще раз большое спасибо за помощь!



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.