Вывод одной страницы на другой

Ответить
x00peR
Сообщения: 141
Зарегистрирован: 05.03.2011
Банальная вещь наверное, но я не знаю как это сделать :(

Есть форум phpbb, на главной нужно вывести результат со страницы abc.php
Страница abc.php получает данные из БД.

Как это сделать? в гугле что то не нашел такого.

Вот этот самый код, который хранится в файле abc.php

Код: Выделить всё

<?php
$sdd_db_host='localhost';// ваш адрес где находится, хостится ваша база данных
$sdd_db_name='base';// Имя базы данных с которой вы хотите работать, так как их может быть множество
$sdd_db_user='user';// логин доступ к базе данных
$sdd_db_pass='pass';// пароль доступа к базе данных
@mysql_connect($sdd_db_host,$sdd_db_user,$sdd_db_pass);// устанавливаем связь с сервером
@mysql_select_db($sdd_db_name);// переключаемся на нужную нам базу данных
$result1=mysql_query('SELECT * FROM `top_players`');// делаем выборку из таблицы
while($row1=mysql_fetch_array($result1))// берем результаты из каждой строки
$top1 = $row1['top1'];
$result2=mysql_query('SELECT * FROM `top_players`');// делаем выборку из таблицы
while($row2=mysql_fetch_array($result2))// берем результаты из каждой строки
$top2 = $row2['top2'];
$result3=mysql_query('SELECT * FROM `top_players`');// делаем выборку из таблицы
while($row3=mysql_fetch_array($result3))// берем результаты из каждой строки
$top3 = $row3['top3'];
?>
<html>
<head>
<title>TEST</title>
</head>
<body>
Top1<br>
<?php echo $top1?><br>
Top2<br>
<?php echo $top2?><br>
Top3<br>
<?php echo $top3?>
</body>
</html>
Вот это нужно вывести на главной.

Код: Выделить всё

<?php echo $top1?>
<?php echo $top2?><br>
<?php echo $top3?>
Может есть какой то другой способ вывода, более правильный?

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
подключить файл в index.php форума.
например перед

Код: Выделить всё

// Assign index specific vars
вставить

Код: Выделить всё

include($phpbb_root_path . 'abc.php');
только весь вывод из abc.php убери


потом перед

Код: Выделить всё

'LEGEND'                => $legend,
вставить свое

Код: Выделить всё

'TOP1'                => $top1,
'TOP2'                => $top2,
'TOP3'                => $top3,
ну а потом в шаблоне /styles/твой_стиль/template/index_body.html выводишь их в нужном месте как

Код: Выделить всё

{TOP1}
{TOP2}<br>
{TOP3}

x00peR
Сообщения: 141
Зарегистрирован: 05.03.2011
Мне нужно вывести страницу.
Вот ее содержимое:

Код: Выделить всё

<?php
 include "inc.php";
 $i = 0;
 $fn = "server.txt";
 $fil = file($fn);
 $linmax = count($fil);
 echo "<table border=\"0\">";
 while ($i != $linmax) {
  $buf = explode("|",$fil[$i]);
  $data = cs_scan(trim($buf[0]),trim($buf[1]));
  echo "<tr><td><TABLE style=\"BORDER-COLLAPSE: collapse\" borderColor=#000 cellSpacing=1 cellPadding=5 width=250 border=1>
  <tr><td align=\"center\" colspan=\"2\"><b>$data[hostname]</b></td></tr>
  <tr><td>Players: <b>$data[players]/$data[maxplayers]</b></td><td>Map: <b>$data[mapname]</b></td></tr></table>
  </td></tr><tr><td height=\"1\"></td></tr>";
  $i++;
 }
 echo "</table>";
?>
Из нее я убираю:

Код: Выделить всё

echo "<table border=\"0\">";
 while ($i != $linmax) {
  $buf = explode("|",$fil[$i]);
  $data = cs_scan(trim($buf[0]),trim($buf[1]));
  echo "<tr><td><TABLE style=\"BORDER-COLLAPSE: collapse\" borderColor=#000 cellSpacing=1 cellPadding=5 width=250 border=1>
  <tr><td align=\"center\" colspan=\"2\"><b>$data[hostname]</b></td></tr>
  <tr><td>Players: <b>$data[players]/$data[maxplayers]</b></td><td>Map: <b>$data[mapname]</b></td></tr></table>
  </td></tr><tr><td height=\"1\"></td></tr>";
  $i++;
 }
 echo "</table>";
Вывожу в index.php

Код: Выделить всё

include($phpbb_root_path . 'index2.php');
В overall_footer.html вставляю:

Код: Выделить всё

echo "<table border=\"0\">";
 while ($i != $linmax) {
  $buf = explode("|",$fil[$i]);
  $data = cs_scan(trim($buf[0]),trim($buf[1]));
  echo "<tr><td><TABLE style=\"BORDER-COLLAPSE: collapse\" borderColor=#000 cellSpacing=1 cellPadding=5 width=250 border=1>
  <tr><td align=\"center\" colspan=\"2\"><b>$data[hostname]</b></td></tr>
  <tr><td>Players: <b>$data[players]/$data[maxplayers]</b></td><td>Map: <b>$data[mapname]</b></td></tr></table>
  </td></tr><tr><td height=\"1\"></td></tr>";
  $i++;
 }
 echo "</table>";
И у меня выводится этот кусок кода и все.

-- добавлено 08 май 2012, 16:30 --

Нашел статью:
Привет, всем кто хоть немного занимается web-программированием наверняка знаком форум phpbb. Простой и классный форум, к тому же еще и бесплатный. Если кому то не нужны особые функции в форуме велосипед изобретать не надо, но... есть одно но! Как же его видоизменять, ведь внутри папки куча непонятных файлов.

Сегодня поговорим об особенностях вставки скрипта на PHP в форум PHPBB3. Для редактирования какого-либо параметра форума всегда нужно идти по одному пути в ftp:
корень_форума/styles/ваша_тема/template/ где вы увидите много файлов .html отвечающих за дизайн форума.

И так, ищем необходимый файл исходя из ваших запросов. Чаще всего это либо overall_footer.html (подвал) либо overall_header.html (шапка). В моём случае, "рядом" с форумом у меня находится фотогалерея и мне хотелось над форумами (то есть в шапке) выводить последние несколько изображений. Всем понятно что вытащить их из бд можно с помощью php, но как вставить php в html страницу форума phpbb ?

Начинаем думать...
Для начала заходим в админку форума, на вкладке ОБЩИЕ снизу ищем пункт Безопасность. В пункте Безопасность ставим напротив подпункта Разрешить php в шаблонах: ДА.
Первый шаг сделан. Казалось бы обычный код < ? php ?> должен работать, но нет! Не реагирует. Идем дальше. Создаем в корневой папке форума файл name.php, в который традиционным методом прописываем код php вывода информации из БД, не забываем прописать подключение к БД. После чего идем по известному пути в Template и находим файл index_body.html

И перед строчкой < !-- INCLUDE forumlist_body.html --> (начало вывода списка форумов)
прописываем строчку < !-- INCLUDEPHP name.php --> и... УРА! Всё заработало!

И напоследок. Чтобы без проблем осуществить в контакте вход и попасть в свой аккаунт, правильно вводите свои логин и пароль, а лучше всего записывайте.

Ответить