Автор Тема: Как якоря header\'ом посылать?  (Прочитано 7460 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
Как якоря header\'ом посылать?
« : 12 Июня 2002, 10:06:42 »
Пишу
$url="script.php?p=34#anchor";
header("Location: $url");
А получаю
http://localhost/script.php?p=34

Пишу
$url=URLEncode("script.php?p=34#anchor");
header("Location: $url");
А апч говорит
Forbidden
You don\'t have permission to access
http://localhost/script.php?p=34#anchor on this server

Что делать что бы якоря засылать???
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн ЖеньКа

  • Свободная статУя
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1013
  • +0/-0
  • 2
    • Просмотр профиля
Как якоря header\'ом посылать?
« Ответ #1 : 12 Июня 2002, 14:21:02 »
Имхо тут из-за спец символов ботва. Выходов 2 как мне кажется - 1) двойные кавычки 2) обратные слэши.
Я верно мыслю, спецы? :)
Ну и что что ветер в голове зато мысли всегда свежие.

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
Как якоря header\'ом посылать?
« Ответ #2 : 13 Июня 2002, 08:25:50 »
Всё перепробовал не помогло.
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Как якоря header\'ом посылать?
« Ответ #3 : 13 Июня 2002, 10:12:24 »
Alexandr
Ну второй вариант точно неправильный. А первый по идее должен работать.
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
Как якоря header\'ом посылать?
« Ответ #4 : 13 Июня 2002, 10:31:30 »
Цитировать
Ну второй вариант точно неправильный. А первый по идее должен работать.

Ну второй-то да. Я просто по всякому экспериментировал.
А первый ни хрена не робит. Выкидывает что после # включительно.
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Как якоря header\'ом посылать?
« Ответ #5 : 13 Июня 2002, 12:23:37 »
У меня твой пример работает без проблем.
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн ЖеньКа

  • Свободная статУя
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1013
  • +0/-0
  • 2
    • Просмотр профиля
Как якоря header\'ом посылать?
« Ответ #6 : 13 Июня 2002, 21:06:40 »
$url=\'"script.php?p=34#anchor"\';
А вот так пробовал тоже?
Ну и что что ветер в голове зато мысли всегда свежие.

Оффлайн Ardzhan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 205
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ardzhan.km.ru
Как якоря header\'ом посылать?
« Ответ #7 : 14 Июня 2002, 19:16:53 »
Попробуй так

$url
=htmlentities($url);

если вдруг не сработает
вместо "#" пиши "%23" - это точно должно работать!

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Как якоря header\'ом посылать?
« Ответ #8 : 14 Июня 2002, 20:31:22 »
Спокуха мальчики и девочки:

<? 
$url="test.php?p=blabla#anchor";
if(!
$p){header("Location: $url");exit();}
if(
$p){?>
<pre>
<?
print "P = $p
"
;
print_r(get_defined_vars());
?>
</pre><?}?>
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Ardzhan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 205
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ardzhan.km.ru
Как якоря header\'ом посылать?
« Ответ #9 : 14 Июня 2002, 20:54:04 »
AlieN Кто еще мальчик?

Цитировать
Спокуха мальчики и девочки:

-ну и что ты этим хотел сказать? Не думаю что твой код будет работать.

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Как якоря header\'ом посылать?
« Ответ #10 : 15 Июня 2002, 10:40:13 »
AlieN
Я тоже не понял, в чем фишка твоей версии.
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Как якоря header\'ом посылать?
« Ответ #11 : 17 Июня 2002, 12:06:08 »
Ardzhan
Цитировать
Не думаю что твой код будет работать.

Проверить не судьба? Почему ты думаешь что он не будет работать ???
GotZfild
Apache 1.3.22
PHP 4.1.2 у меня редирект идеально работает без всякого urlencode, когда его включаешь то пишет как раз то , про что
говорил Alexandr  :
Цитировать
Forbidden
You don\'t have permission to access

Цитировать
в чем фишка твоей версии

А в чём фишка кодирование символа "#" ?
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Как якоря header\'ом посылать?
« Ответ #12 : 17 Июня 2002, 12:40:42 »
AlieN
Так ведь человек обратился с тем же кодом, что ты и предложил, только немного "завернув" это в другой код, но суть-то остается той же.
Вот смотри
Цитировать
Пишу
$url="script.php?p=34#anchor";
header("Location: $url");

У тебя
Цитировать
$url="test.php?p=blabla#anchor";
if(!$p){header("Location: $url");exit();}

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

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Как якоря header\'ом посылать?
« Ответ #13 : 17 Июня 2002, 13:09:01 »
GotZfild
и что?
у меня в коде видно
Цитировать
print_r(get_defined_vars());

вот смотри результат вывода:
[url] => test.php?p=blabla#anchor


            [SERVER_SOFTWARE] => Apache/1.3.24 (Win32) PHP/4.1.3-dev
            [SystemRoot] => C:\\\\WINDOWS
            [WINDIR] => C:\\\\WINDOWS
            [GATEWAY_INTERFACE] => CGI/1.1
            [SERVER_PROTOCOL] => HTTP/1.1
            [REQUEST_METHOD] => GET
            [QUERY_STRING] => p=blabla
            [REQUEST_URI] => /test.php?p=blabla#anchor
            [SCRIPT_NAME] => /test.php
            [PATH_TRANSLATED] => c:/apache/htdocs/test.php
            [PHP_SELF] => /test.php
            [argv] => Array
                (
                   
  • => p=blabla

                )

            [argc] => 1

И в чём я не прав?
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Ardzhan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 205
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ardzhan.km.ru
Как якоря header\'ом посылать?
« Ответ #14 : 17 Июня 2002, 17:06:10 »
AlieN
Цитировать
Проверить не судьба? Почему ты думаешь что он не будет работать ???

Проверил, но не твой. Начал с самого простого. Что вы тут мозги парите!!!

<?
$url="script.php?p=34#anchor"
header("Location: $url"); 
?>

Работает на ура!!!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28