Маркетер
  • Маркетинг
  • Digital
  • Реклама
  • Public Relations
  • Менеджмент
  • Новости
  • Маркетинг
  • Digital
  • Реклама
  • Public Relations
  • Менеджмент
  • Новости
YouTube 154 Подписчики
Telegram 241 Подписчики
VK 0 Подписчиков
Маркетер
Маркетер
  • Маркетинг
  • Digital
  • Реклама
  • Public Relations
  • Менеджмент
  • Новости
  • Новости

Система «Совет дня». Часть 3.

  • 12.11.2001

Автор статьи: Головин Андрей

В двух предыдущих опытах мы рассмотрели, как организовать таблицы и работу с ними для реализации системы «Совет дня». Сегодня рассмотрим, как предоставить возможность использовать наши советы другим пользователям на своих сайтах.

При предоставлении такой возможности, нельзя расчитывать, что у пользователя окажется возможность использовать наши php-скрипты. Безвыходная ситцация? Отнюдь, нет.

Каждый разработчик может включить на свои страницы «удаленные» скрипты на языке JavaScript. Т.е. исходный текст js-скрипта может храниться на абсолютно другом сервере. Например, на нашем. В то же время, php дает нам возможность генерировать этот скрипт «на лету». внешний js-скрипт подключается с помощью следующего тэга:

<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript" SRC="<B>http://...</B>"></SCRIPT>

Выделенная часть — путь до нашего скрипта.

Теперь разберем, как владелец ресурса может поместить наши данные в необходимое ему место? При использовании js-скрипта, это проще всего сделать с помощью функции document.write(). Таким образом, наш js-скрипт должен состоять из набора вызовов этих функций.

Начнем конструировать PHP-скрипт для генерации необходимого кода. Для начала возьмем фрагмент кода из предыдущего опыта, получающий параметры текущего совета (код установления соединения с базой можно посмотреть в первой части этой серии опытов):

Далее мы будем использовать возможности PHP, по «внедрению» HTML-кода. Необходимо заметить, что как HTML-код можно помещать внутри .php3 файлов, так и PHP-код внутри HTML файлов со специальным расширением .phtml (вобще, данные расширения не являются жестко заданными. В принципе, любой администратор может установить их по своему желанию. Подробнее можно посмотреть в опыте, посвященном установке PHP.). Таким образом сразу за закрывающим тэгом ?> помещаем вызовы функции document.write() таким образом:

document.write(‘<DIV CLASS=»tipHeader»><B><?php echo $curTip[«title»] ?></B><DIV>’);

Выделенный фрагмент выведет в исходный текст js-скрипта значение атрибута title текущего совета. Таким же образом поступаем с текстом совета, предварительно заменив переводы строк на тэги
. Это необходимо потому, что выводимый текст может занять несколько строк, а разрыв строки в функции document.write() недопустим. Делается это следующей функцией:

$s = ereg_replace("\r\n","<BR>", $curTip["text"]);

Про регулярные выражения можно почитать подробнее вопыте, посвященном описанию работы с ними.

Кроме того, мы можем предоставить пользователю возможность описать формат оформления совета на свой вкус (в определенных пределах, конечно). При указании параметров с троке вызова (<SCRIPT TYPE=»text/javascript» LANGUAGE=»JavaScript» SRC=»<EM>http://…</EM>»></SCRIPT></SPAN>) по правилам, которые используются при передаче параметров значений элементов ввода форм (см. «Передача переменных в скрипт.»).

В скрипте мы организуем проверку на установку этих параметров. Если параметры не установлены, то присвоим им значения по умолчанию. Проверка осуществляется вызовом функции empty(var), которая принимает значение TRUE, если значение переменной не было установлено.

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

if (empty($hColor)) {
$hColor = "black";
}

Задавать этот параметр будем с помощью каскадных таблиц стиля (CSS), вывод которых будем организовывать аналогично (с помощью функции document.write()). Код для этого будет выглядеть так:

document.write('<STYLE>');
document.write('.tipHeader {');
document.write(' color: <?php echo $hColor ?>;');
document.write('}');
document.write('</STYLE>');

В вызове на сайте пользователя, цвет можно будет задать так:

<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript" SRC="http://...<B>?hColor=blue</B>"></SCRIPT>

Соберем все вместе (файл extips.php3):

<?php
if (mysql_connect("localhost", "john", "dark")) {
if (!mysql_select_db("test")) {
echo "<B>Error selecting db!!!</B>";
exit();
}
} else {
echo "<B>Error connecting!!!</B>";
exit();
}
$sql = "SELECT * FROM tipoad WHERE startdate <= NOW() ORDER BY startdate DESC";
$res = mysql_query($sql) or die(mysql_error());
$curTip = mysql_fetch_array($res);
if (empty($hColor)) {
$hColor = "black";
}
$s = ereg_replace("\r\n","<BR>", $curTip["text"]);
?>
document.write('<STYLE>');
document.write('.tipHeader {');
document.write(' color: <?php echo $hColor ?>;');
document.write('}');
document.write('</STYLE>');
document.write('<DIV CLASS="tipHeader"><?php echo $curTip["title"] ?><DIV>');
document.write('<DIV><?php echo $s; ?></DIV>');

Вызов со страницы пользователя будет выглядеть так (предположим, что файл extips.php3 расположен на сервере www.pupkin.ru):

<SCRIPT TYPE=»text/javascript» LANGUAGE=»JavaScript» SRC=»http://www.pupkin.ru/extips.php3?hColor=blue»></SCRIPT>

Таким образом мы создали полнофункциональную систему провайдинга динамического контента для пользователей. На подобных принципах работает рекламная система TX3. Как видите, ничего особенно сложного.

Алексей Волков

Предыдущий материал
  • PHP

Система «Совет дня». Часть 1

  • 12.11.2001
  • Алексей Волков
Read More
Следующий материал
  • Программирование

Регулярные выражения

  • 12.11.2001
  • alexvolkov
Read More
Вас также может заинтересовать
Read More
  • Новости

Google назвал лучшие приложения App Store за 2018 год

  • Нина Бит-Каплан
  • 14.12.2018
Read More
  • Новости

Онлайн-конференция интернет-магазин от “А до Я” CyberE-com 2018

  • Юля Ласкевич
  • 25.05.2018
Read More
  • Новости

Бесплатная онлайн-конференция по управлению репутацией

  • Юля Ласкевич
  • 04.12.2017
Read More
  • Новости

Открыта регистрация на CyberMarketing-2017

  • Юля Ласкевич
  • 19.10.2017
Read More
  • Новости

Новый хит лета от Coca-Cola

  • Юля Ласкевич
  • 21.06.2016
Read More
  • Новости

Coca-Cola запускает производство двух новых напитков в России — Fanta Цитрус и Dr Pepper

  • Юля Ласкевич
  • 05.03.2016
Read More
  • Новости

COCA-COLA ЗАПУСКАЕТ СТРАТЕГИЮ «ЕДИНОГО БРЕНДА» И НОВУЮ ГЛОБАЛЬНУЮ КАМПАНИЮ «ПОПРОБУЙ… ПОЧУВСТВУЙ»

  • Юля Ласкевич
  • 23.01.2016
Read More
  • Новости

Ресторан закрылся из-за положительных отзывов критиков

  • Юля Ласкевич
  • 08.01.2016

Добавить комментарий

Для отправки комментария вам необходимо авторизоваться.

Свежие посты
  • Дайджест постов Сергея Людкевича
    • 12.09.24
  • Как юристы тормозят бизнес
    • 30.08.24
  • Продвижение оптовых кампаний в Яндекс Директ
    • 06.03.24
  • Cарафанное радио
    • 13.01.24
  • 5-55: История компании
    • 01.03.23
Маркетер
  • О проекте
  • Информационное спонсорство
  • Рекламным агентствам
  • Ссылки
(с) ООО "Маркетер". Официальный сайт. Маркетер: Статьи про рекламу, маркетинг, public relations, интернет

Введите ключевые слова для поиска и нажмите Enter