jensej 2 Zgłoś post Napisano Czerwiec 18, 2013 (edytowany) Jakbyś ktoś mógł powiedzieć, co robię źle. Bo za nic niechce działać ta funkcja. problem jest w tym, że jak definiuję funkcje lol(post_ip) to funkcja nie zwraca nic. <?php function lol($ip){ $statustimeout = 1; foreach(explode("*", str_replace(" ", "", $config['server']['statusTimeout'])) as $_var) if($status_var > 0) $statustimeout = $statustimeout * $status_var; $statustimeout = $statustimeout / 1000; $config['status'] = parse_ini_file('includes/serverstatus'); if($config['status']['serverStatus_lastCheck']+$statustimeout < time()) { $config['status']['serverStatus_checkInterval'] = $statustimeout+3; $config['status']['serverStatus_lastCheck'] = time(); $info = chr(6).chr(0).chr(255).chr(255).'info'; $sock = @fsockopen($ip, 7171, $errno, $errstr, 1); if ($sock) { fwrite($sock, $info); $data=''; while (!feof($sock)) $data .= fgets($sock, 1024); fclose($sock); preg_match('/players online="(\d+)" max="(\d+)"/', $data, $matches); $config['status']['serverStatus_online'] = 1; $config['status']['serverStatus_players'] = $matches[1]; $config['status']['serverStatus_playersMax'] = $matches[2]; preg_match('/uptime="(\d+)"/', $data, $matches); $h = floor($matches[1] / 3600); $m = floor(($matches[1] - $h*3600) / 60); $config['status']['serverStatus_uptime'] = $h.'h '.$m.'m'; preg_match('/monsters total="(\d+)"/', $data, $matches); $config['status']['serverStatus_monsters'] = $matches[1]; preg_match('/npcs total="(\d+)"/', $data, $matches); $config['status']['serverStatus_npcs'] = $matches[1]; } else { $config['status']['serverStatus_online'] = 0; $config['status']['serverStatus_players'] = 0; $config['status']['serverStatus_playersMax'] = 0; $config['status']['serverStatus_monsters'] = 0; $config['status']['serverStatus_uptime'] = 0; $config['status']['serverStatus_npcs'] = 0; } $file = fopen("includes/serverstatus", "w"); foreach($config['status'] as $param => $data) { $file_data .= $param.' = "'.str_replace('"', '', $data).'" '; } rewind($file); fwrite($file, $file_data); fclose($file); } } ?> <form method="post" action=""> <label>Ip Address</label> <input type="text" name="ip_address" class="span4" /> <label>Port</label> <input type="text" name="connection_port" value="7171" class="span4" maxlength="5"/> </div> <input class="btn btn-primary btn-large span4" type="submit" name="test_server" value="Test Server" /><br /><br /> <?php if(isset($_POST['test_server'])){ lol($_POST['ip_address']); ?> <ul> <li><strong>Gracze</strong>: <?php echo $config['status']['serverStatus_players'] . " / " . $config['status']['serverStatus_players']; ?></li> </ul><br /> <?php print_r($_POST['ip_address']); ?> <?php } ?> </form> Edytowano Czerwiec 18, 2013 przez jensej (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Łukasz Ostrowski 593 Zgłoś post Napisano Czerwiec 18, 2013 A co ma zwracać, skoro nie widze nigdzie żadnej funkcji wyświetlającej tekst? Udostępnij ten post Link to postu Udostępnij na innych stronach
jensej 2 Zgłoś post Napisano Czerwiec 18, 2013 ma mi zwrócić to <li><strong>Gracze</strong>: <?php echo $config['status']['serverStatus_players'] . " / " . $config['status']['serverStatus_players']; ?></li> Udostępnij ten post Link to postu Udostępnij na innych stronach
PapaSmerf 497 Zgłoś post Napisano Czerwiec 18, 2013 To może zwróć tablicę? Do poczytania: http://php.net/manual/en/language.variables.scope.php Udostępnij ten post Link to postu Udostępnij na innych stronach