Скрипт вывода пользователей

Тема в разделе "PHP", создана пользователем UltrbI4, 24 ноя 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. UltrbI4

    UltrbI4

    Регистр.:
    15 мар 2009
    Сообщения:
    449
    Симпатии:
    53
    Народ всем привет.Есть скрипт,который выводит сколько пользователей,их ники фраги и т.д на игровом сервере.Ставлю его
    Захожу через браузер и выскакивает ошибка
    В чем может быть проблема?
    Думали дело во включенном register_globals,попробовали отрубить и ошибка осталась.
    Вот сам скрипт.
    PHP:
    <?PHP
    $ip 
    $_GET['ip'];
    $port $_GET['port'];
    $qw=chr(32);
    $fp fsockopen ("udp://".$ip,".$port");
    if (!
    $fp) {
        echo 
    "ERROR: $errno - $errstr<br>\n";
        } else {
        
    fwrite($fp,"\377\377\377\377details".chr(10));
        
    $st=fread($fp,1);
        
    $r=socket_get_status($fp);
        
    $r=$r["unread_bytes"];
        
    $st.=fread($fp,$r);
        
    fclose($fp);
        
    $st=substr($st,5);
        
    $address=SubStr($st,0,StrPos($st,chr(0)));
        
    $address=str_replace(chr(0),"|",$address);
        
    $st=SubStr($st,StrPos($st,chr(0))+1);
        
    $name=SubStr($st,0,StrPos($st,chr(0)));
        
    $st=SubStr($st,StrPos($st,chr(0))+1);
        
    $map=SubStr($st,0,StrPos($st,chr(0)));
        
    $st=SubStr($st,StrPos($st,chr(0))+1);
        
    $st=SubStr($st,StrPos($st,chr(0))+1);
        
    $st=SubStr($st,StrPos($st,chr(0))+1);
        
    $current=ord(SubStr($st,0,1));
        
    $max=ord(SubStr($st,1,1));
        }
    $fp fsockopen ("udp://".$ip,".$port");
    if (!
    $fp) {
        echo 
    "ERROR: $errno - $errstr<br>\n";
        } else {
        
    fwrite($fp,"\377\377\377\377players".chr(10));
        
    $st=fread($fp,1);
        
    $r=socket_get_status($fp);
        
    $r=$r["unread_bytes"];
        
    $st.=fread($fp,$r);
        
    fclose($fp);
        
    $playersn=ord(substr($st,5,1));
        
    $st=substr($st,6);
        if (
    $playersn !=){
            Echo(
    "\n
     <body bgcolor=\"#292c21\">
    <table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\" align=\"center\" bgcolor=\"#8c7952\">
      <tr>
        <td colspan=\"3\"><center><b>Ñåé÷àñ  íà ñåðâåðå:</b></center></td>
      </tr>
      <tr>
        <td bgcolor=\"#292c21\" width=\"15\"><font color=\"#8c7952\">#</font></td>
        <td bgcolor=\"#292c21\" width=\"250\"><b><font color=\"#8c7952\">Èìÿ èãðîêà:</font></b></td>
        <td bgcolor=\"#292c21\" ><b><font color=\"#8c7952\">Ôðàãîâ:</font></b></td>
      </tr>\n"
    );
            for (
    $i=1;$i<=$playersn;$i++){
                
    $n=ord(substr($st,0,1));
                
    $st=substr($st,1);
                
    $name=SubStr($st,0,StrPos($st,chr(0)));
                
    $kills=ord(substr($st,StrPos($st,chr(0))+1,1));
                if (
    $kills==255){$kills=-1;}
                if (
    $kills==254){$kills=-2;}
                if (
    $kills==253){$kills=-3;}
                if (
    $kills==252){$kills=-4;}
                
    $st=substr($st,StrPos($st,chr(0)));
                
    $st=substr($st,9);
                Echo(
    "
    <tr>
        <td bgcolor=\"#292c21\"   width=\"15\"><font color=\"#8c7952\">
    $n</font></td>
        <td bgcolor=\"#292c21\"   width=\"250\"><font color=\"#8c7952\">
    $name</font></td>
        <td bgcolor=\"#292c21\"  ><font color=\"#8c7952\">
    $kills</font></td>
      </tr>\n"
    );
            }
            Echo(
    "</table></body>
            <center><form><input type='button' value='Çàêðûòü' onClick='window.close()'></form></center>
            </html>"
    );
        }
    }
    ?>
    Помогите решить проблему
     
  2. unsiker

    unsiker

    Регистр.:
    6 июн 2008
    Сообщения:
    465
    Симпатии:
    172
    Во первых потому что неправильно написано
    нужно
    еще я сменил порт на 1
    Правда после этого лезет Warning: fread() [function.fread]: Length parameter must be greater than 0 in U:\home\localhost\www\lol.php on line 13

    а точно нужно на нулевой порт конектится???
     
  3. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    2 unsiker : у него порт как get-параметр передается
    так у него он не нулевой будет )))
     
  4. serjinio

    serjinio

    Регистр.:
    10 май 2007
    Сообщения:
    439
    Симпатии:
    49
    Устрани ошибку $fp = fsockopen ("udp://".$ip,$port);
    и посмотри что к тебе приходит....
    echo $ip = $_GET['ip'];
    echo $port = intval($_GET['port']);
     
  5. UltrbI4

    UltrbI4

    Регистр.:
    15 мар 2009
    Сообщения:
    449
    Симпатии:
    53
    +1
    Все перепробовал,нифига,лезет эта ошибка и все тут.Лан народ все-равно всем спасибо.Мы с товарищем свой скрипт напишем.
     
Статус темы:
Закрыта.