[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: К ссылке добавляется подстрока, которой быть не
alex455
Здравствуйте.
$db_descriptor = $db -> query
("
SELECT *
FROM `links`
"
);

while ($row = $db_descriptor -> fetch_assoc())
{
$text = nl2br(htmlentities($row['text'], ENT_QUOTES, 'UTF-8'));
$url = htmlentities($row['url'], ENT_QUOTES, 'UTF-8');

if (!empty($text) and !empty($url))
{
echo "<p align=\"justify\" class=\"introtext\">$text <a href=\"$url\">Перейти</a></p>
<p align=
\"justify\" class=\"introtext\"> </p>";
}
}


Это вывод блоков с текстом и ссылкой, вставленной в слово "Перейти".
Проблема в том, что в слово "Перейти" вставляется ссылка с приаттаченным адресом сайта. Например, если ссылка на www.google.ru, то $url == 'www.google.ru'. Но когда страница будет выведена в браузер, при наведении на слово "Перейти" ссылка будет выглядеть как http://localhost/my-site/www.google.ru . Причём если для проверки вместо слова "Перейти" поставить "$url", то ссылка будет корректной - www.google.ru . При наведении на неё путь будет показываться как http://localhost/my-site/www.google.ru .
Почему так? Откуда берётся "http://localhost/my-site/" перед началом ссылки если его в переменной нигде нет?



Спустя 21 минута, 34 секунды (10.11.2011 - 23:08) Winston написал(а):
Цитата (alex455 @ 10.11.2011 - 21:46)
Откуда берётся "http://localhost/my-site/" перед началом ссылки если его в переменной нигде нет?

Т.к. протокола в начале адреса нету, то браузеру кажется, что ссылка ведет на этот же сайт, потому и подставляет self адрес.
Чтобы это решить, достаточно добавить протокол
<a href=\"http://$url\">Перейти</a>

Спустя 4 часа, 17 минут, 57 секунд (11.11.2011 - 03:26) imbalance_hero написал(а):
alex455
Вообще-то есть Абсолютные ссылки, они обязаны начинаться с http://
И относительные: ./ - данный каталог, и / - корень сайта!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.