English Deutsch Español Русский
RadioBOSS
RadioBOSS - программное обеспечение для радиостанций, клубов, казино, торговых комплексов, кинотеатров. Автоматизация радиоэфира и звукового сопровождения.
ОписаниеСкачатьКупить
DJSoft.Net Community Forums
Май 21, 2012, 05:58:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости:
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Вывод названия трэка в БД  (Прочитано 156 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Nik Shinkareff

Сообщений: 2


Дилетант со стажем.


Просмотр профиля WWW
« : Октябрь 27, 2011, 05:42:15 »

Есть задача — заставить RadioBoss выводить проигрываемые трэки во внешнюю БД.

Для этого использую вывод отчета через HTTP запрос к сайту mysite.ru.

1. Создаю файл radioboss.php следующего содержания:

Код:
<?php

// Получаю IP машины //

function getip()
{
  if (
getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"),"unknown"))
    
$ip getenv("HTTP_CLIENT_IP");

  elseif (
getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
    
$ip getenv("HTTP_X_FORWARDED_FOR");

  elseif (
getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
    
$ip getenv("REMOTE_ADDR");

  elseif (!empty(
$_SERVER['REMOTE_ADDR']) && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
    
$ip $_SERVER['REMOTE_ADDR'];
  
  else
    
$ip "unknown";
  
  return(
$ip);
}

// Сверяю IP машины //

if ((getip()=="093.650.552.578") or (getip()=="194.890.718.887"))

echo "IP допущенно<br>";

// Подключаю БД //

$dblocation "314.542.442.973";
$dbuser "user";
$dbpasswd "pass";
$dbname="base";

$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx)
 {
 echo("<p>Сервер недоступен</p>");
 exit();
 }

if (!@mysql_select_db($dbname$dbcnx))
 {
 echo( "<p>База данных недоступна</p>" );
 exit();
 }

// Война кодировок //

mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES utf8");
mysql_query("set names utf8");
mysql_query("set character_set_client='utf8'");
mysql_query("set character_set_results='utf8'");
mysql_query("set collation_connection='utf8_general_ci'");

// Получаем дату и время, для хронологии списка //

$date date'd.m.Y'time() );
$time date'H:i:s'time() );

// Проверяем есть ли дата/время //

echo $date;
echo "<br>";
echo $time;

// Записываем из $_GET нужные нам параметры //

$sql mysql_query("INSERT into radioboss (date, time, artist, title, album, genre, duration)
values ('"
.$date."', '".$time."', '".$_GET['artist']."', '".$_GET['title']."', '".$_GET['album']."', '".$_GET['genre']."', '".$_GET['duration']."');");

// Проверяем что мы, собственно, записали//

print  '<p>Записаны данные: дата - <strong>'.$date.'</strong>, время - <strong>'.$time.'</strong>, артист - <strong>'.$_GET['artist'].'</strong>, название - <strong>'.$_GET['title'].'</strong>, альбом - <strong>'.$_GET['album'].'</strong>, жанр - <strong>'.$_GET['genre'].'</strong>, продолжительность - <strong>'.$_GET['duration'].'</strong>.</p>';

} else {

// К.О. для недопущенных IP-адресов //

echo "Что-то явно пошло не так...";

}

?>

Для уверенности генерируем в адресной строке браузера запрос вида http://mysite.ru/radioboss.php&artist=artist&title=title&duration=duration, смотрим на выведенный страницей результат и проверяем запись в БД.

2. В настройках RadioBoss вводим url: http://mysite.ru/radioboss.php

И вот, в теории все должно работать, но на практике все иначе.
С началом каждого нового трэка в БД появляется новая строка, но есть только дата и время (генерируются в PHP) а остальные поля пустые. В RadioBoss все трэки с положенными тэгами.

Либо RadioBoss не передает параметры artist/title/album/genre/duration через GET, либо наш PHP файл неправильно интерпретирует запрос.


Записан
djsoft
Administrator

Сообщений: 1995

353966341
Просмотр профиля WWW
« Ответ #1 : Октябрь 27, 2011, 08:39:09 »

Вы указали URL но не указали параметры, которые нужно передавать.

URL в RadioBOSS должен быть таким: http://mysite.ru/radioboss.php?artist=%artist&title=%title
Можно добавить и другие значения:
%comment
%duration
%genre
%album
Записан

djsoft.net support / icq 353966341 / email support@djsoft.net
Nik Shinkareff

Сообщений: 2


Дилетант со стажем.


Просмотр профиля WWW
« Ответ #2 : Октябрь 27, 2011, 09:24:24 »

 В замешательстве
О, мой Бог, я как-то по мануалу подумал что он в обязательно-принудительном порядке сам выводит все пять параметров в запрос... спасибо большое. Как всегда, все мои большие ошибки таятся там, где я и не подозреваю.

Зато теперь на форуме будет пример шаблончика под PHP и MySQL  Смеющийся

P.S.
Теперь, правда, в БД в поле "duration" стоит значение "%duration" хотя запрос вроде человеческий.
http://tmysite.ru/radioboss.php?artist=%artist&title=%title&duration=%duration&genre=%genre&album=%album
« Последнее редактирование: Октябрь 27, 2011, 09:41:17 от Nik Shinkareff » Записан
djsoft
Administrator

Сообщений: 1995

353966341
Просмотр профиля WWW
« Ответ #3 : Октябрь 27, 2011, 01:52:43 »

Извиняюсь, длительность трека не %duration, а %len. Надо будет сделать раздел в справке про это...
Записан

djsoft.net support / icq 353966341 / email support@djsoft.net
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!