X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Php адрес текущей страницы
Banderas
Banderas
Topic Starter сообщение 31.1.2009, 1:55; Ответить: Banderas
Сообщение #1


САБЖ, как сделать чтобы выводило адрес текущей страницы??? ;)

Часто встречаю под новостью:

"Поделится ссылкой с другом

http://....."

как так сделать?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
сообщение 31.1.2009, 2:00; Ответить: FordogeN
Сообщение #2


Если правильно понял:
$_SERVER['REQUEST_URI'] - эта функция выводит адрес текущей страницы!


Вариант кода, если вписывать в html код:
<input type="text" value="<?php echo $_SERVER['REQUEST_URI']; ?>">



Вариант кода, если вписывать в php код:
[php]<?php
$url=$_SERVER['REQUEST_URI'];
echo'<input type="text" value="$url">';
?>[/php]

ps. Не тестил, но по идее правильно.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Robot-sgibatel
Robot-sgibatel
сообщение 31.1.2009, 12:58; Ответить: Robot-sgibatel
Сообщение #3


А как это вставить в меню, чтобы текущая ссылка выделялась каким-нибудь цветом?

Допустим вот меню

<a href="index.hml">Главная</a>

<a href="index.hml">Новости</a>


Наверно как-то так (пишу что-бы поняли что я имею ввиду, PHP я вообще не знаю ;) )

{проверка условия, если index.hml=$_SERVER['REQUEST_URI'] то <div class="active" иначе <div class="menu"}<a href="index.hml">Главная</a></div>

{проверка условия, если news.hml=$_SERVER['REQUEST_URI'] то <div class="active" иначе <div class="menu"}<a href="news.hml">Новости</a></div>

ну а классы прописать в CSS или такого не бывает
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
сообщение 31.1.2009, 15:37; Ответить: FordogeN
Сообщение #4


Bender, а ZiToSs уже писал об этом - http://www.masterwebs.ru/topic/3632-zakrit-tekushuju-ssilku/


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Robot-sgibatel
Robot-sgibatel
сообщение 31.1.2009, 16:07; Ответить: Robot-sgibatel
Сообщение #5


Я там ничего не понял так как ПХП не знаю, думал может можно как-то проще...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 31.1.2009, 18:37; Ответить: ZiTosS
Сообщение #6


Banderas,
Ничего сложного, возможны варианты на PHP или на JS
1) PHP
Разместить ссылку на своём сайте
<a href="http://<?php echo $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']?>">Ссылка на мою страницу</a>
Не забыв в данном случае заменить < на &lt и > на &gt, тогда спецсимволы < и > мы увидем на странице.

Ссылка другу
<input type="text" value="http://<?php echo $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']?>" />

Как это будет выглядеть покажу на skreenshot
[img]http://s59.radikal.ru/i163/0901/d4/176e74950e65.gif[/img]

2) JavaScript
Почитайте про window.localtion.href сделать подобие такого
<script type="text/javascript">
document.getElementById("href_friend").innerHTML = window.location.href;
</script>
..............
<div id="href_friend"></div>
..............


FordogeN,
$_SERVER['REQUEST_URI'] - эта функция выводит адрес текущей страницы!

1) это не функция, а зарезервированная предопределённая переменная
2) Она не выведет весь адрес, ведёт от имени хоста(не включая домен), правильнее как у меня.

Bender, в HTML-сайте сделать не проблема... Для каждой страницы, для каждого файла пишем свою навигацию, с выделением нужного пункта.
На динамичных сайтах всё сложнее, там можно целую систему можно написать по подсветке пункта меню. Советую на этом заморачиваться, этоне так уж актуально!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Robot-sgibatel
Robot-sgibatel
сообщение 31.1.2009, 20:16; Ответить: Robot-sgibatel
Сообщение #7


Bender, в HTML-сайте сделать не проблема... Для каждой страницы, для каждого файла пишем свою навигацию, с выделением нужного пункта.

Ну у меня же все меню через инклуд вставляется, иначе было бы очень нудно добавлять страницы.

А раз есть функция которая выводит адрес страницы, нет ли случайно функции которая выводит Title ?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 31.1.2009, 20:41; Ответить: ZiTosS
Сообщение #8


Bender, запомните это не функция, а переменная! Говорю последний раз... У меня просто душу коробит от таких высказываний.

Осознайте работу серверного языка программирования... При запросе страницы *.php идёт обращение к серверу например Apache и тот уже вызывает обработчик PHP. Обработчик PHP ищет в нашем файле *.php PHP-код и просто заменяет его. Выдать же на страницу то что находится между тегами <title> и </title> вы конечно не сумеете. Но если учесть, что заголовок страницы также формируется PHP и содержится по вывода в некоторой переменной, тогда вывести на экран заголовок будет не проблема.

Также есть возможность написать обработчик JavaScript, привожу простой пример
<html>
<head>
<title>Заголовок страницы</title>
<script type="text/javascript">

function echoTitle()
{
alert(document.title);
}

</script>
</head>
<body onLoad="echoTitle();">
</body>
</html>

Вам же просто придётся не вывести во всплывающем окне заголовок, а поместить его в нужный контейнер :unsure:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Banderas
Banderas
Topic Starter сообщение 31.1.2009, 23:03; Ответить: Banderas
Сообщение #9


никатит :unsure: либо я настолько блондинко либо одно из двух :)

когда вставляю
<input type="text" value="http://<?php echo $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']?>" />

то вот такое http://kachalka.com.ua/test.html

пс. У меня ДЛЕ 7.0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 1.2.2009, 14:10; Ответить: ZiTosS
Сообщение #10


Banderas, запомни, чтобы сервер понял, что данный файл нужно отдать обработчику PHP, его расширение должно быть *.php, за исключением когда на сервере настроена обработка также html, shtml. Это редкость. Так что лучше всегда писать *.php

Сей час опишу как сделать для твоего скрипта на DLE.
1) Заходим в текущий шаблон, который используется на сайте templates/[текущий_шаблон]/
На папки не смотрим, нам нужны именно шаблоны *.tpl, в них содержится наш HTML код. И так... По смыслу определяем или по коду находим нужный нам шаблон. В данном случае так как мы ищем шаблон полной статьи, то нам надо изменить файл fullstory.tpl

После
<tr>
<td class="news">{full-story}</td>
</tr>

Вставить
<tr>
<td class="regin" style="border: 1px dashed #c6c6c6; padding: 10px 8px;">
<b>Ссылка на вашем сайте:</b>
<input style="width: 70%" type="text" value="<a href='{url_site}'>{title}</a>" onMouseOver="this.select();">
<br><br>
<b>Показать статью другу:</b>
<input style="width: 70%" type="text" value="{url_site}" onMouseOver="this.select();">
</td>
</tr>

Как мы успели заметить, мы используем два параметра
{title} - название статьи, он уже определён скриптом, как мы видим выше в полной статье идёт вывод заголовка с помощью {title}. Поэтому мы можем его использовать, что мы и делаем.
{url_site} - ссылка адресной строки. Данный параметр не определён, мы его объявили сами. Нам придётся его задать...

2) Где же задавать данный параметр?! Подумаем... Так как вывод статьи это должно быть отдельным модулем, значит нам нужно искать файл в модулях engine/modules/show.full.php
Как вы видите по названию примерно сопоставимо. Для понятности можно посмотреть также его назначение вверху в комментариях
Назначение: Просмотр полной новости и комментариев

Находим где передаётся {title}
[php]$tpl->set('{title}', $metatags['title']);[/php]
И вставляем после неё
[php]$tpl->set('{url_site}', "http://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}");[/php]

Всё, скрипт исправно работает и выводит статьи с ссылкой для друга и ссылкой на своём сайте
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужно ли закрывать ненужные страницы тегом noindex, follow?
8 noviktamw 2834 2.3.2024, 12:53
автор: toplinks
Открытая тема (нет новых ответов) Вытащить страницы из кэша Яндекса
2 VostrVL 1914 11.1.2024, 23:07
автор: ЛаврионСергеевич
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3292 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1171 24.11.2023, 14:46
автор: alexey
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44766 19.7.2023, 10:03
автор: qpPeW


 



RSS Текстовая версия Сейчас: 29.3.2024, 8:59
Дизайн