вопрос по PHP функции header

Аватара пользователя
mar

вопрос по PHP функции header

Сообщение mar »

subj

если я пишу что-нибудь вроде



Код:

Код: Выделить всё

 
header ("Location: 

то в строке URL красуется все вплоть до знака # (те переход на внутреннюю ссылку не осуществляется Изображение

Попытки обмануть судьбу при помощи *chr(35) не помогли. Не наступал ли кто-нибудь на подобные грабли? Или вообще, *как бы выйти из ситуации? ну о-ч-ч-ч-ень по внутренним ссылкам пройтись захотелось Изображение
Аватара пользователя
vadimiron

Re: вопрос по PHP функции header

Сообщение vadimiron »

может это спец знак и перед ним надо \ поставить, как \n ??
Аватара пользователя
mar

Re: вопрос по PHP функции header

Сообщение mar »

vadimiron

нет, "\" не помогает, пардон, что не написала.





Добавлено:



Попробовала поиграть

rawurlencode('#')

rawurldecode('%23')

Безрезультатно Изображение
Аватара пользователя
vadimiron

Re: вопрос по PHP функции header

Сообщение vadimiron »

mar

А может попробывать Мэта тегом заменить, то есть обычным ХТМЛ????

Конечно не так красиво, но если будет действовать, то почему бы и нет
Аватара пользователя
mar

Re: вопрос по PHP функции header

Сообщение mar »

vadimiron

в мрем случае просто невозможно, тк речь идет о том, чтобы отослав данные, человек попадал в ту точку страницы, где эти данные находятся.  Понятно, что в остальных случаях жизни он имеет право приходить на верх страницы, или в любую другую ее точку. (если бы был мета-тег, то все время посылали бы в одно и то же место)

ой! а может ты и прав! можно в шаблон страницы всабачить мета,  которое тем же скриптом и заполнять... Надо подумать Изображение Спасибо



Но про header все равно непонятно Изображение
Аватара пользователя
mar

Re: вопрос по PHP функции header

Сообщение mar »

хм. Похоже, мне надо копать в сторону состава строчки -

если просто написать что-нибудь вроде:



все работает (те, если не составлять строку программно) Но это бред, особенно, если учесть, что у меня все это передается через промежуточную функцию, где строка генерится.

Если проверить строку прямо перед передачей в header, #куда там есть, а header при таком раскладе метку игнорирует и в строке url броузера она не появляется. А если прямо строку в header забить - все работает. Странно



[s]Исправлено: mar, 13:35 13-06-2004[/s]
Аватара пользователя
Vlad Drakula

Re: вопрос по PHP функции header

Сообщение Vlad Drakula »

mar

я как то на такие грабла наступал...

и что то я сделал, давно это было...

если еще надо то я залезу в код и отыщу как я с этим поступал.
Аватара пользователя
mar

Re: вопрос по PHP функции header

Сообщение mar »

Vlad Drakula

если не сложно, посмотри pls. Всегда хочется разобраться Изображение
Аватара пользователя
Vlad Drakula

Re: вопрос по PHP функции header

Сообщение Vlad Drakula »

mar

я делал это так:



Код:

Код: Выделить всё

header("Location: ./topic.php?topic=$HTTP_POST_VARS[topic]&start=".((($topicdata["nposts"]-$ForumListSise+2)<0)?"0":($topicdata["nposts"]-$ForumListSise+2)));    
  header("Location: ./topic.php?topic=$HTTP_POST_VARS[topic]&start=".((($topicdata[nposts]-$ForumListSise+2)<0)?"0":($topicdata[nposts]-$ForumListSise+2)));

странно но печемуто у меня тут нету якорей, очень станно...
Аватара пользователя
mar

Re: вопрос по PHP функции header

Сообщение mar »

Vlad Drakula

Изображение

нда, без якорей проблем и не было (причем и с ними какие-то странные:

- редирект на файл идет правильно,

"откусывается" только "#имя_метки",

- причем только в тех случаях, когда url собирается в строчку по кусочкам,

- но непосредственно перед попаданием в header

строка полная (вместе с "#имя_метки&quotИзображение. (если проверить echo)

- Если же просто сделать тестовый файл с редиректом на конкретный (пусть тот же самый) url, то все отрабатывает правильно.
Ответить

Вернуться в «Вебмастеру»