Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Кривой якорь
 
 автор: Vincento   (15.06.2010 в 23:28)   письмо автору
 
 

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


 $podd = "<a href='news.php?".$ss_next_page.$pagge."&id_n=".$postrow[$i]['id_n']."&pod#".$postrow[$i]['id_n']."' class=toplink2>&nbsp;полный текст </a>";


вот код цилка вывода списка статей


echo "<a name="".$postrow[$i]['id_n'].""></a>";


где ошибка не соображу, попробовал уже все

  Ответить  
 
 автор: ONYX   (16.06.2010 в 04:29)   письмо автору
 
   для: Vincento   (15.06.2010 в 23:28)
 

Якорь... хм я почему то все время думал что символ # должен ставиться перед именем якоря в ссылке а не в середение

  Ответить  
 
 автор: Vincento   (16.06.2010 в 07:00)   письмо автору
 
   для: ONYX   (16.06.2010 в 04:29)
 

так и есть.. только же еще сама структура ссылки предполагает какие-то действия. да и если я поставлю перед полной ссылкой то все равно не найдется на странице такого якоря..

ссылка вот так выгдядит к примеру
<a href="news.php?n=10&page=5&id_n=15&pod#15">&nbsp;полный текст </a>


а как тогда правильно?

  Ответить  
 
 автор: АЯ   (16.06.2010 в 13:48)   письмо автору
 
   для: Vincento   (16.06.2010 в 07:00)
 

Правильно так (запустите, посмотрите на адресную строку браузера, кликните по ссылке, опять посмотрите на адресную строку браузера):
<a href="?query_string#anchor_123">Link</a>

<div style="height: 2000px"></div>

<span id="anchor_123">Hi!</span>

<div style="height: 2000px"></div>

Предположу (А), что при формировании HREF'ов ссылок ваш PHP-скрипт заменяет символы амперсанда & на их идентификатор &#amp; (как и все прочие не-ASCII-символы), что и приводит к огромной куче символов # в полученном URL - отсюда якоря получаются "кривыми".
Наведите курсор на сформированную ссылку, скопируйте и вставьте ее в блокнот (или в адресную строку браузера) и посмотрите глазами.

Кроме того (Б), якоря (анчоры) полагается прописывать в виде алфавитно-цифровых строк, содержащих: арабские цифры (1), латинские буквы любого регистра (2), символ подчёркивания (3), но начинающиеся с буквы.
Ваш якорь #15 из примера этому предписанию не удовлетворяет.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования