Это тема для тех кто понимает PHP

Общие обсуждения публичной версии проекта "Сверхновая"
Support forum for public version

Модератор: Gorlum

Правила форума
Внимание! Этот форум - только для обсуждения вопросов и проблем на сторонних серверах, использующих движок Сверхновой!

Для обсуждения оригинальных серверов СН существуют соответствующие форумы: для багрепортов, для обсуждение движка на офф-серверах.

Общие багрепорты и проблемы на публичных серверах обсуждаются в соответствующем форуме.

Для обсуждения работа модулей и багрепротов по их работе существует свой форум
Ответить
akmaljonmusaev
Сержант корабля
Сообщения: 32
Зарегистрирован: 05 мар 2013, 09:52

Это тема для тех кто понимает PHP

Сообщение akmaljonmusaev » 15 июн 2013, 20:23

Здравствуйте! Я вот хотел на свой главный сайт поставит статус сервера Супернова (Сколько онлайн игроков и сколько зарегистрированных)
Сначало создал PHP файл туда этот код поставил

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

<?

define("MYSQLHOST", "localhost");
define("DBNAME", "ИМЯ БАЗЫ");
define("DBUSER", "Пользователь");
define("DBPASS", "Пароль");

$connect = mysql_connect(MYSQLHOST,DBUSER,DBPASS);

if(!$connect)
{
	exit('На сайте ведутся технические работы просим ждать!');
}
elseif(!mysql_select_db(DBNAME,$connect))
{
	exit('На сайте ведутся технические работы просим ждать!);
}

mysql_query('set character_set_results=utf8');
mysql_query('set character_set_client=utf8');
mysql_query('set character_set_connection=utf8');
mb_internal_encoding('UTF-8'); 

$online = mysql_num_rows(mysql_query("SELECT `id` FROM `sn_users` WHERE user_as_ally is null and onlinetime>" . (time()-900)));
$obshiy = mysql_num_rows(mysql_query("SELECT `id` FROM `sn_users`"));

echo 'Онлайн игроков: '.$online.'<br/>';
echo 'Зарегистрированных: '.$obshiy;

mysql_close($connect);
?>
CMS Главного сайта DLE что бы этот файл поставит я воспользовался этим кодом {include file="адрес файла"} но! Проблема в том что показывает только текст Онлайн игроков: и Зарегистрированных:! Но когда открываем сам файл по ссылке то показывает! Прошу помочь!

killer
Майор разведки
Сообщения: 292
Зарегистрирован: 03 янв 2011, 22:22
Откуда: Херсон

Re: Это тема для тех кто понимает PHP

Сообщение killer » 15 июн 2013, 22:26

akmaljonmusaev,

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

<?

define("MYSQLHOST", "localhost");
define("DBNAME", "ИМЯ БАЗЫ");
define("DBUSER", "Пользователь");
define("DBPASS", "Пароль");

$connect = mysql_connect(MYSQLHOST,DBUSER,DBPASS);

if(!$connect)
{
    exit("На сайте ведутся технические работы просим ждать!");
}
elseif(!mysql_select_db(DBNAME,$connect))
{
    exit("На сайте ведутся технические работы просим ждать!");
}

mysql_query("set character_set_results=utf8");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_connection=utf8");
mb_internal_encoding("UTF-8"); 

$online = mysql_query("SELECT count(`id`) as count FROM `sn_users` WHERE user_as_ally is null and onlinetime > (UNIX_TIMESTAMP()-900)");
$obshiy = mysql_query("SELECT count(`id`) as count FROM `sn_users`");
$online = mysql_fetch_array($online);
$count_reg = mysql_fetch_array($obshiy);

?>
Онлайн игроков: <?=$online["count"]?><br/>
Зарегистрированных: <?=$count_reg["count"]?>
<?
mysql_close($connect);
?>
хотя, можно и $tpl->set("", ""); заюзать в index.php прописав нужное ;)

16.06.2013
файл поправлен
Последний раз редактировалось killer 16 июн 2013, 07:26, всего редактировалось 1 раз.
не посчитайте за набивку постов :D
Иногда пишу полезное,иногда-бред :(

akmaljonmusaev
Сержант корабля
Сообщения: 32
Зарегистрирован: 05 мар 2013, 09:52

Re: Это тема для тех кто понимает PHP

Сообщение akmaljonmusaev » 16 июн 2013, 05:52

killer писал(а):akmaljonmusaev,

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

<?

define("MYSQLHOST", "localhost");
define("DBNAME", "ИМЯ БАЗЫ");
define("DBUSER", "Пользователь");
define("DBPASS", "Пароль");

$connect = mysql_connect(MYSQLHOST,DBUSER,DBPASS);

if(!$connect)
{
    exit("На сайте ведутся технические работы просим ждать!");
}
elseif(!mysql_select_db(DBNAME,$connect))
{
    exit("На сайте ведутся технические работы просим ждать!");
}

mysql_query("set character_set_results=utf8");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_connection=utf8");
mb_internal_encoding("UTF-8"); 

$online = mysql_query("SELECT count(`id`) as count FROM `sn_users` WHERE user_as_ally is null and onlinetime > (UNIX_TIMESTAMP()-900)");
$obshiy = mysql_query("SELECT count(`id`) as count FROM `sn_users`");

?>
Онлайн игроков: <?=$online["count"]?><br/>
Зарегистрированных: <?=$obshiy["count"]?>
<?
mysql_close($connect);
?>
хотя, можно и $tpl->set("", ""); заюзать в index.php прописав нужное ;)
+

Типо вставки Модуля?

akmaljonmusaev
Сержант корабля
Сообщения: 32
Зарегистрирован: 05 мар 2013, 09:52

Re: Это тема для тех кто понимает PHP

Сообщение akmaljonmusaev » 16 июн 2013, 05:55

И по подробнее можно? Просто я еще новичок!

killer
Майор разведки
Сообщения: 292
Зарегистрирован: 03 янв 2011, 22:22
Откуда: Херсон

Re: Это тема для тех кто понимает PHP

Сообщение killer » 16 июн 2013, 07:18

akmaljonmusaev писал(а):И по подробнее можно? Просто я еще новичок!
в index.php после

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

require_once ROOT_DIR . '/engine/init.php'; 
добавить

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

require_once ROOT_DIR.'/engine/modules/supernova.php'; 
в файл supernova.php, в папке модулей, добавь:

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

<?

define("MYSQLHOST", "localhost");
define("DBNAME", "ИМЯ БАЗЫ");
define("DBUSER", "Пользователь");
define("DBPASS", "Пароль");

$connect = mysql_connect(MYSQLHOST,DBUSER,DBPASS);

if(!$connect)
{
    exit("На сайте ведутся технические работы просим ждать!");
}
elseif(!mysql_select_db(DBNAME,$connect))
{
    exit("На сайте ведутся технические работы просим ждать!");
}

mysql_query("set character_set_results=utf8",$connect);
mysql_query("set character_set_client=utf8",$connect);
mysql_query("set character_set_connection=utf8",$connect);
mb_internal_encoding("UTF-8"); 

$online = mysql_query("SELECT count(`id`) as count FROM `sn_users` WHERE onlinetime > (UNIX_TIMESTAMP()-900) AND `user_as_ally` IS NULL;",$connect);
$obshiy = mysql_query("SELECT count(`id`) as count FROM `sn_users` WHERE `user_as_ally` IS NULL",$connect);
$onlines = mysql_fetch_array($online);
$obshiys = mysql_fetch_array($obshiy);

$supernova = "Онлайн игроков: ".$onlines["count"]."<br/>\nЗарегистрированных: ".$obshiys["count"]."\n";
mysql_close($connect);
?>
возвращаемся в index.php, находим:

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

$tpl->load_template ( 'main.tpl' );
ниже добавляем:

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

$tpl->set ( "{supernova}", $supernova ); 
и в нужном шаблоне на месте которого хотите видеть подобную статистику ставите {supernova}
не посчитайте за набивку постов :D
Иногда пишу полезное,иногда-бред :(

Ответить

Вернуться в «[ru/en] Публичная версия/Public releases»