В локалхост работи, а в сайта не...

taneca

Registered
Някой ще ми каже ли защо този код по-долу в локалхоста дава вярния статус на сървърите, а като го кача в сайта дава на сървърите оффлайн, а те са онлайн :?

Код:
<?
$chars="set character set latin1";
mysql_query($chars);
{
$broq = 10;
$query = mysql_query("SELECT * FROM servers WHERE ok='VIP' ORDER BY id DESC LIMIT $broq");
echo "<b><font color='blue' size='3'></font></b>";
while ($row = mysql_fetch_array($query))
{
$ip1 = $row['ip'];
$port1 = $row['port'];

$output = @fsockopen("udp://$ip1", $port1, $errno, $errstr, 0.25);
@socket_set_timeout($output, 1);
@socket_set_blocking($output, 1);

@fwrite($output, "\xFF\xFF\xFF\xFF\x54\x53\x6F\x75\x72\x63\x65\x20\x45\x6E\x67\x69\x6E\x65\x20\x51\x75\x65\x72\x79\x00");

$buffer = @fread($output, 4096);

if (!$buffer) {
$on = "<font color=\"red\">offline</font>";
} else {
$on = "<font color=\"green\">online</font>";
}
echo '<br><b>VIP</b>';
echo '<table border="5" width="200" align="center" bgcolor="ffffff">';
echo '<td align="center"><font color=grey><b> '.$row['name'].' </b></font></td>';
echo '<tr><td align="center"><font color=blue><b> '.$row['ip'].':'.$row['port'].' </b></font></td>';
echo '<tr><td align="center"><b> '.$on.' </b></td>';
echo '<tr><td align="center"> <b> <a href="index.php?p=profile&username='.$row['author'].'">'.$row['author'].' </b></td></table>';
}
}
?>

Ако сте ме разбрали, моля помогнете !
 
Ако не са ти включени short_tags в php.ini ..

Я пробвай вместо

<? <?php

Демек:
Код:
 <?php
$chars="set character set latin1";
mysql_query($chars);
{
$broq = 10;
$query = mysql_query("SELECT * FROM servers WHERE ok='VIP' ORDER BY id DESC LIMIT $broq");
echo "<b><font color='blue' size='3'></font></b>";
while ($row = mysql_fetch_array($query))
{
$ip1 = $row['ip'];
$port1 = $row['port'];

$output = @fsockopen("udp://$ip1", $port1, $errno, $errstr, 0.25);
@socket_set_timeout($output, 1);
@socket_set_blocking($output, 1);

@fwrite($output, "\xFF\xFF\xFF\xFF\x54\x53\x6F\x75\x72\x63\x65\x20\x45\x6E\x67\x69\x6E\x65\x20\x51\x75\x65\x72\x79\x00");

$buffer = @fread($output, 4096);

if (!$buffer) {
$on = "<font color=\"red\">offline</font>";
} else {
$on = "<font color=\"green\">online</font>";
}
echo '<br><b>VIP</b>';
echo '<table border="5" width="200" align="center" bgcolor="ffffff">';
echo '<td align="center"><font color=grey><b> '.$row['name'].' </b></font></td>';
echo '<tr><td align="center"><font color=blue><b> '.$row['ip'].':'.$row['port'].' </b></font></td>';
echo '<tr><td align="center"><b> '.$on.' </b></td>';
echo '<tr><td align="center"> <b> <a href="index.php?p=profile&username='.$row['author'].'">'.$row['author'].' </b></td></table>';
}
}
?>
 
fsockopen Може да не се подържа от хостинга, особено ако си на безплатен хостинг. :)

Съветвам те да използваш функцията phpinfo() и да провериш дали работи fsockopen или не.
 
Това зависи от хостинга, на който си качил сайта, защото примерно 1gb е безплатен и не поддържа функцията fsockopen и това не зависи от кода ти, ако си го качил там или на подобен хостинг.
 
Варианти:
1. Сървърът е забранил работата със sockets
2. Няма ping между сайта, където се държи скрипта и сървъра на играта
 
Някой знае ли друг безплатен хостин, но да поддържа тази функция ?
 
taneca каза:
Някой знае ли друг безплатен хостин, но да поддържа тази функция ?

Еми сътвори си един хост с XAMPP и там другите Уинбоз кирий... Ако ти е проблем си купи някой евтин хостинг...
 

Back
Горе