В JS я использую следующий код для перехода на другую страницу window.parent.location.href="
http://xxx/base.phtml".
а на странице base.phtml проверяю $HTTP_REFERER
и почему-то он пуст, как-бы директ линк без referer'а хотя если перехожу по обычной ссылке referer ловится без проблем. Как быть? Может надо что-то в JS добавить, чтобы referer добавлялся.
Заранее большое спасибо.
Можно cookie попробовать выставлять, если так не работает Ж

. Хотя странно, должно работать ведь...
Здравствуйте lozzy, Вы писали:
L>Можно cookie попробовать выставлять, если так не работает Ж
. Хотя странно, должно работать ведь...
Я вот тоже думал, что должно и долго не мог понять в чем дело.
Я делаю поддержку скинов, т.е. выбрал другой скин, php-скрипт выхватил Referer изменил скин и вернулся на Referer страничку.
А с куками другой прикол.
Если я из PHP устанавливаю куку, а затем в JS пытаюсь сделать document.Cookie='name=value' то все работает только для корневой директории, для субдиректорий куки не передаются на сервер. А в JS работют нормально. (Куки я ставлю для всего сайта, не для какой либо директории).
Подстава, конечно.
Тогда более медленный способ:
echo "<a href='/changeskin.phtml?skin=1&ref=". $SCRIPT_FILENAME ."&blablabla=tututu&...'>Skin 1</a>";
На счет $SCRIPT_FILENAME я не уверен, погляди в хелпе. Это надо будет генерить на каждой странице, где надо менять скин.
По-моему так. В changeskin.phtml поменяешь скин у юзера и айда его
$refer = "Location: ".$ref;
Header($refer);
А>Так, наверное и буду делать, это то не проблема. Хотелось так что бы красиво было, минимум длинных ссылок. Все равно спасибо.
Кстате, HTTP_REFERER не все броузеры посылают — это раз.
А во-вторых можно и без длинных ссылок: на ссылки change skin вызываем джава скрипт, который открывает окно, в котором берется текущий URL из парентовского окна, получаем из него тот же relative path PHP страницы и составляем href-ы. Юзер жмякает на линку — мы окошко закрываем и parent.document.location.href = "сгенереный_линк_из_чилдового_окна_вместе_с_relative_return_path".
Так. вот еще чего вспомнил — попробуй window.parent.location = tralala (без location.href, просто location). По моему так должно сработать.
Ну, и в третьих, уж не пинай, если помогло — жмякни на цифирку какую-нибудь в хедере моего ответа