Потеря переменных в Safari при передаче через url

St.Core

Новичок
Потеря переменных в Safari при передаче через url

Проблема:
при передаче переменных с одной *.php страницы на другую с помощью

header("location: s_make_request.php?nsname=$nsname&company=$company&vat=$vat&adress=$adress&phone=$phone&e_mail=$e_mail&disc_count=$disc_count&post_code=$post_code&delivery_adress=$delivery_adress&precise_time=$precise_time");

в браузере Safari 3.2 теряются переменные либо части их значений, т.е. итоговый URL может выглядеть так:

http://www.****/scripts/s_make_request.php?nsname=test&company=test&vat=test&adress=testtesttest&phone=1324&[email protected]&post_code=1040&delivery_adress=%22IRC-Residance%20Palace

вместо положенного:

http://www.****/scripts/s_make_request.php?nsname=test&company=test&vat=test&adress=testtesttest&phone=1324&[email protected]&disc_count=4&post_code=1040&delivery_adress=%22IRC-Residance%20Palace%22,%20Rue%20de%20la%20Lois%20155&precise_time=09h00

Частное:

1. На Windows платформе в браузерах Opera 9.62, IE 7, FireFox все данные доходят нормально при любой длине итогового URL.
2. Под Safari 3.2 для «мака» переменные теряются без видимой системы.
3. Под Safari 3.2 для windows теряется только последняя пара, т.е. precise_time=$precise_time

Заранее благодарен за возможную помощь.
 

ksnk

прохожий
Чего-то мне напоминает число 250 в длине символов этого запроса... Может ограничение на длину строки? Для достаточно глючной виндовой беты не так уж и удивительно.

Можно как образец webkit-based броузеров рассматривать Хром. Он и распространен уже, imho, побольше этих Сафарей...
 

St.Core

Новичок
to: Апокалипсис
бегло осмотревшись, кроме совета использовать exit() после header() (что я и так всегда делаю) ничего касательно Сафари не нашёл. Всё равно спасибо - подтянул английский)).

to: ksnk
скорее там число 255 должно что-то напоминать)), вроде как GET-метод больше передать не может (во всяком случае так говорит тов. А.В. Олищук), однако ж работает и с гораздо более длинными строками, но как выяснилось не везде.
Под Сафари+мак (заказчик требует корректную работу именно такой связки) терялись переменные и при величине строки менее 250 символов.

Проблему не решил, пришлось воспользоватся сессией.
 

ksnk

прохожий
St.Core www.**** - я вот здесь случайно не скрываются недостающие до 255 байтики? :)

А GEТ метод, настоящий, а не перенаправление броузера location'ом, может принять, imho, до 4-х кил данных по каким-то смутным воспоминаниям. До пол-кила данных (500 байт) уходит почти на всем. ( Когда-то какая-то Опера глючила).
 

St.Core

Новичок
неа, я всю строку замерял - прям в ворд и статистику))

насчёт 500кб буду вкурсе, спасибо - книжки книжками, а опыт опытом...
 

St.Core

Новичок
Выбрасывает данные в буквальном смысле "рандомом", к примеру сеялся и company=$company. А тут просто случайно с кавычкой попало.

Что самое интересное специально никто и не производит - само как-то))
 

AmdY

Пью пиво
Команда форума
проблема должна быть не в сафари, там внутренний редирект происходит. попробуй оформить по правилам.
c http://site.ru/... и urlencode для переменных
 
Сверху