Проблема с таблицей php скрипта -
riddik123 - 19.07.2012
Всем добрый день вчера собрал API php скрипт онлайн игроков для samp но встала проблема с показанием онлайн игроков в таблице показывает тока 1 игрока а всех остальных за таблицей в может быть проблема может объясните нубу.
PHP код:
if (!$player_list) { echo "<div style='text-align:center'><b>Нет игроков или сервер не отвечает</b></div></body></html>"; return; }
if (isset($player_list[1]['score'])) { $monitor_show_score = 1; }
if (isset($player_list[1]['ping'])) { $monitor_show_ping = 1; }
echo "<style>
#monittable{
width: 600px;
border: 1px solid rgb(0,0,0);
margin-left: 0px;
border-collapse: collapse
}
#monittable td{border: 1px solid rgb(0,0,0);}
#monittable tr{text-align: center;}
</style>";
echo "<table id=\"monittable\"><tr><td colspan=\"3\" bgcolor=\"#d2d2d2\"><b>".$data[hostname]."</b></td></tr>";
echo "<tr><td colspan=\"3\" bgcolor=\"#ffffff\">Итого игроков онлайн: ".$data[players]."/".$data[maxplayers]."</td></tr>";
echo "<tr bgcolor=\"#ffffff\"><td width=\"150px\">Псевдоним</td>";
if ($monitor_show_score ) { echo "<td width=\"150px\">Уровень</td>"; }
if ($monitor_show_ping) { echo "<td width=\"150px\">Пинг</td></tr>"; }
foreach ($player_list as $key=>$player)
{
if (function_exists("mb_convert_encoding"))
{
$player[name] = htmlspecialchars($player[name], ENT_QUOTES);
$player[name] = @mb_convert_encoding($player[name],"HTML-ENTITIES","auto");
}
else
{
$player[name] = htmlentities($player[name], ENT_QUOTES);
}
echo "<tr bgcolor=\"#fff\"><td width=\"150px\">$player[name]</td>";
if ($monitor_show_score) { echo "<td width=\"150px\">$player[score]</td>"; }
if ($monitor_show_ping) { echo "<td width=\"150px\">$player[ping]</td></tr>"; }
echo "</table>";
}
?>
Re: Проблема с таблицей php скрипта -
Stepashka - 19.07.2012
PHP код:
foreach ($player_list as $key => $player) {
if (function_exists("mb_convert_encoding")) {
$player['name'] = htmlspecialchars($player['name'], ENT_QUOTES);
$player['name'] = @mb_convert_encoding($player['name'], 'HTML-ENTITIES', 'auto');//убил бы за @
} else {
$player['name'] = htmlentities($player['name'], ENT_QUOTES);
}
echo '<tr bgcolor="#fff"><td width="150px">' . $player['name'] . '</td>';
if ($monitor_show_score) {
echo '<td width="150px">' . $player['score'] . '</td>';
}
if ($monitor_show_ping) {
echo '<td width="150px">' . $player['ping'] . '</td>';
}
echo '</tr>';
}
echo '</table>';
Re: Проблема с таблицей php скрипта -
riddik123 - 19.07.2012
Получилось спасибо большое.
Семь раз отмерь, один раз отрежь
Re: Проблема с таблицей php скрипта -
riddik123 - 19.07.2012
Еще вопрос как исправить php блок мониторинга ниже представленный код вставляю в php файл прописываю свой ip и мониторинга просто нету страничка пустая.
PHP код:
<?php
$data = monitor_samp("127.0.0.1", 7777, samp, info); // измените ай-пи и порт на свой!!!!
$server_samp = "<center>
<b>".$data[hostname]."</b><br>
".$data[ip].":".$data[qport]."<br>
<img src=\"". $img ."\" width=\"160\" height=\"120\" style=\"border:1px solid #000000;\"><br>
Игроков: <b>".$data[players]."/".$data[maxplayers]."</b><br>
Карта: <b>".$data[mapname]."</b>
<script language=\"JavaScript\">
<!--
function winop()
{
windop = window.open(\"engine/modules/monitoring/server_samp_players.php\",\"mywin\" ,\"height=400,width=250 ,scrollbars=yes\");
}
-->
</script>
<center>
<a href=\"javascript:winop();\"><b><font color=\"red\">Кто играет ?</font></b></a>
</center>";
function monitor_samp($ip, $qport, $game, $request)
{
$fp = @fsockopen("udp://$ip", $qport, $errno, $errstr, 1);
if (!$fp) { return FALSE; }
stream_set_timeout($fp, 1, 0); stream_set_blocking($fp, true);
$ip_array = explode(".", $ip);
$challenge = 'SAMP';
$challenge .= chr($ip_array[0]).chr($ip_array[1]).chr($ip_array[2]).chr($ip_array[3]);
$challenge .= chr($port & "\xFF");
$challenge .= chr($port >> 8 & "\xFF");
if ($request == "info") { $challenge .= "i"; }
if ($request == "settings") { $challenge .= "r"; }
if ($request == "players") { $challenge .= "d"; }
fwrite($fp, $challenge);
$buffer = fread($fp, 4096);
fclose($fp);
if (!trim($buffer)) { return FALSE; }
if (!substr($buffer, 0, 4) == "SAMP") { return FALSE; }
$buffer = substr($buffer, 11);
if ($request == "info")
{
$data['password'] = ord(substr($buffer, 0, 1));
$data['players'] = ord(substr($buffer, 1, 2));
$data['maxplayers'] = ord(substr($buffer, 3, 2));
$buffer = substr($buffer, 5);
$data_length = ord(substr($buffer, 0, 4));
$data['hostname'] = substr($buffer, 4, $data_length);
$buffer = substr($buffer, 4 + $data_length);
$data_length = ord(substr($buffer, 0, 4));
$data['gametype'] = substr($buffer, 4, $data_length);
$buffer = substr($buffer, 4 + $data_length);
$data_length = ord(substr($buffer, 0, 4));
$data['mapname'] = substr($buffer, 4, $data_length);
$data['ip'] = $ip;
$data['qport'] = $qport;
return $data;
}
if ($request == "settings")
{
$setting_count = ord(substr($buffer, 0, 2));
$buffer = substr($buffer, 2);
if ($setting_count > 128) { return FALSE; }
for ($i=0; $i<$setting_count; $i++)
{
if (!$buffer) { return FALSE; }
$data_length = ord(substr($buffer, 0, 1));
$key = substr($buffer, 1, $data_length);
$buffer = substr($buffer, 1 + $data_length);
$data_length = ord(substr($buffer, 0, 1));
$value = substr($buffer, 1, $data_length);
$buffer = substr($buffer, 1 + $data_length);
$setting[$key] = $value;
}
return $setting;
}
if ($request == "players")
{
$player_count = ord(substr($buffer, 0, 2));
$buffer = substr($buffer, 2);
if ($player_count > 128) { return FALSE; }
for ($i=1; $i<=$player_count; $i++)
{
if (!$buffer) { return FALSE; }
$player[$i]['pid'] = ord(substr($buffer, 0, 1));
$buffer = substr($buffer, 1);
$data_length = ord(substr($buffer, 0, 1));
$player[$i]['name'] = substr($buffer, 1, $data_length);
$buffer = substr($buffer, 1 + $data_length);
list(,$player[$i]['score']) = unpack("s", substr($buffer, 0, 4));
$buffer = substr($buffer, 4);
$player[$i]['ping'] = ord(substr($buffer, 0, 4));
$buffer = substr($buffer, 4);
}
return $player;
}
}
?>
Re: Проблема с таблицей php скрипта -
Stepashka - 19.07.2012
Ты где это взял, данный код вообще не жизнеспособен, к тому же неполный?
Re: Проблема с таблицей php скрипта -
riddik123 - 19.07.2012
Подскажи мне рабочий код мониторинга
Re: Проблема с таблицей php скрипта -
Stepashka - 20.07.2012
Я похож на справочное бюро?
Поисковики для кого?
Re: Проблема с таблицей php скрипта -
-Stranger- - 20.07.2012
Функция ещё куда не шло, но вывод полнейший бред. Забудь про этот код и делай с нуля, ну или ищи готовый.
Re: Проблема с таблицей php скрипта -
jhonyxakep - 21.07.2012
riddik123, я опять намекну на поиск по форуму. Я уже публиковал подходящий код с нужной модификацией.