|
|
|
| $url = "http://o-rpg.com/forum/?type=answer&id_theme=$id_theme&page=$page#$id_post";
header("Location: $url");
Вот код. Почему при переадресации страница не переходит на якорь #$id_post ? | |
|
|
|
|
|
|
|
для: devil943
(04.05.2008 в 21:34)
| | Что-то я не вижу якорей в HTML-коде, допустим, этой страницы: http://o-rpg.com/forum/?type=answer&id_theme=1&page=1 | |
|
|
|
|
|
|
|
для: Atheist
(04.05.2008 в 21:40)
| | Якорь в конце - напрмер:
http://o-rpg.com/forum/?type=answer&id_theme=1&page=1#1
Мне он нужен для того, что бы отправлять человека, только что написавшего сообщение к этому сообщению. | |
|
|
|
|
|
|
|
для: devil943
(04.05.2008 в 21:45)
| | > Якорь в конце
Это не якорь. Это ссылка на якорь. | |
|
|
|
|
|
|
|
для: Atheist
(04.05.2008 в 21:48)
| | Да, вы правы, я не правильно выразился. Но суть дела это не меняет. header действительно не переходит к якорю? | |
|
|
|
|
|
|
|
для: devil943
(04.05.2008 в 21:50)
| | header тут вообще не при чем.
Браузер не переходит, потому что нет якоря. | |
|
|
|
|
|
|
|
для: Atheist
(04.05.2008 в 21:55)
| | Якорь есть! Это идентификатор блока. В конце концов в ссылке после перехода должно быть #что-то.. | |
|
|
|
|
|
|
|
|
для: Atheist
(04.05.2008 в 22:08)
| | Хосподи.. Какая разница, архаичный якорь a name или id у тега??? | |
|
|
|
|
|
|
|
для: devil943
(04.05.2008 в 22:10)
| | Хм. Да, не заметил.
Что тогда в адресной строке после переадресации? | |
|
|
|
|
|
|
|
для: Atheist
(04.05.2008 в 22:20)
| | В том-то и дело, что при редиректе header'ом решетка и все после нее таинственным образом исчезает их адресной строки. | |
|
|
|
|
|
|
|
для: devil943
(04.05.2008 в 22:22)
| | Значит просто $id_post не поределена. Во всяком случае имеет не числовое значение. | |
|
|
|
|
|
|
|
для: Atheist
(04.05.2008 в 22:24)
| | Но просто # должно же быть выведено? ($id_post определено). | |
|
|
|
|
|
|
|
для: devil943
(04.05.2008 в 22:32)
| | > Но просто # должно же быть выведено?
Вообще говоря, оно может быть не выведено хотя бы двум причинам:
a) $page содержит 0x00 (NUL-байт, так называемый)
b) Баг браузера. | |
|
|
|
|
|
|
|
для: Atheist
(04.05.2008 в 22:35)
| | Нет, идет проверка if(!$page) $page = 1;
Пробовал в IE опере и фоксе | |
|
|
|
|
|
|
|
для: devil943
(04.05.2008 в 22:42)
| | Я тоже проверял в Opera и всё OK.
Обычно я в таких случаях начинаю изменять текст на всякую еренду.
Что-то вроде
<?php
$url = "http://o-rpg.com/forum/?type=answer&id_theme=$id_theme&page={$page}blah";
header("Location: $url");
?>
|
Если нет "blah" в конце адресной строки, то это просто не тот кусок кода. Переадресация в каком-то другом месте. | |
|
|
|
|
|
|
|
для: devil943
(04.05.2008 в 21:34)
| | Это называется не якорем, а анкером, ничего не пропадает, все работать будет:
<?
header("location: hash.php?as=2#a1");
?>
|
<?
for ($i=0; $i<50; $i++) {
$i<49 ? print "<p>123456789</p>" : print "<p id=a1>Hash</p>";
}
?>
|
| |
|
|
|