begin process at 2012 05 31 17:06:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Récupération de variables impossible :'(


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Récupération de variables impossible :'(

mardi 27 décembre 2011 à 14:35:00 | Récupération de variables impossible :'(

15miuteslive

Bonjour à tous !
Voila, j'ai un petit problème avec une page php, je voudrais récupérer proprement plusieurs variables.
Je vous montre le code et je vous explique :
Code PHP :
<?

class Minequery {

	public static function query($address, $port = 8000, $timeout = 5) {
        $address = '88.182.196.189';
		$query = array();

		$beginning_time = microtime(true);

		$socket = @fsockopen($address, $port, $errno, $errstr, $timeout);

		if (!$socket) {
			// Could not establish a connection to the server.
			return false;
		}

		$end_time = microtime(true);

		fwrite($socket, "QUERY\n");

		$response = "";
		
		while(!feof($socket)) {
			$response .= fgets($socket, 1024);
		}

		$response = explode("\n", $response);

		// Server port
		$query['serverPort'] = explode(" ", $response[0], 2);
		$query['serverPort'] = $query['serverPort'][1];

		// Player count
		$query['playerCount'] = explode(" ", $response[1], 2);
		$query['playerCount'] = $query['playerCount'][1];

		// Max players
		$query['maxPlayers'] = explode(" ", $response[2], 2);
		$query['maxPlayers'] = $query['maxPlayers'][1];

		// Player list
		$query['playerList'] = explode(" ", $response[3], 2);
		$query['playerList'] = explode(", ", trim($query['playerList'][1], "[]"));

		$query['latency'] = ($end_time - $beginning_time) * 1000;

		return $query;
	}

        /**
        * Queries a Minequery server using JSON.
        */
	public static function query_json($address, $port = 8000, $timeout = 5) {
		$beginning_time = microtime(true);

		$socket = @fsockopen($address, $port, $errno, $errstr, $timeout);

		if (!$socket) {
			// Could not establish a connection to the server.
			return false;
		}

		$end_time = microtime(true);

		fwrite($socket, "QUERY_JSON\n");

		$response = "";

		while(!feof($socket)) {
			$response .= fgets($socket, 1024);
		}

		$query = json_decode($response);
		$query->latency = ($end_time - $beginning_time) * 1000;

		return $query;
	}
}

//LA OU J'ECRIS !//
print_r(Minequery::query("88.182.196.189"));
echo '<br>';
print_r(Minequery::query_json("88.182.196.189"));

?>


Ce que je voudrais c'est récupérer MaxPlayers, PlayersCount et PlayersList pour pouvoir mettre ca sur mon site.
A part ça tout marche (le serveur est reconnu, le problème n'est pas la) !
J'ai juste besoin d'écrire sur mon site par exemple : Joueurs en ligne 2/10.

J'espère que vous pourrez m'aider !

Merci d'avance !

Louis
mardi 27 décembre 2011 à 15:00:47 | Re : Récupération de variables impossible :'(

alexflex25

Bonjour,

Qu'est ce que donne un "echo" de la variable "$response" juste à la fin de la boucle "while"?

mardi 27 décembre 2011 à 15:30:50 | Re : Récupération de variables impossible :'(

15miuteslive

J'obtiens ceci :
Code :
Warning: Missing argument 1 for Minequery::query(), called in /var/www/legtux.org/users/twimpkees/craft/test.php on line 83 and defined in /var/www/legtux.org/users/twimpkees/craft/test.php on line 5
Array ( [serverPort] => 25565 [playerCount] => 0 [maxPlayers] => 10 [playerList] => Array ( [0] => ) [latency] => 28.1510353088 )
{"serverPort":25565,"playerCount":0,"maxPlayers":10,"playerList":[]} stdClass Object ( [serverPort] => 25565 [playerCount] => 0 [maxPlayers] => 10 [playerList] => Array ( ) [latency] => 32.7320098877 ) 
mardi 27 décembre 2011 à 16:21:55 | Re : Récupération de variables impossible :'(

alexflex25


Je n'ai pas compris la question, mais je vais essayer une réponse quand même?!

Code PHP :
<?php
$res = Minequery::query("88.182.196.189");
$res_json = Minequery::query_json("88.182.196.189");

echo 'Joueur en ligne '.$res['playerCount'].'/'.$res['playerCount'].'.';
//ou
echo 'Joueur en ligne '.$res_json['playerCount'].'/'.$res_json['playerCount'].'.';
?>


mardi 27 décembre 2011 à 16:25:58 | Re : Récupération de variables impossible :'(

alexflex25

Réponse acceptée !
Erreur...

Plus juste maintenant:

Code PHP :
<?php
$res = Minequery::query("88.182.196.189");
$res_json = Minequery::query_json("88.182.196.189");

echo 'Joueur en ligne '.$res['playerCount'].'/'.$res['maxPlayers'].'.';
//ou
echo 'Joueur en ligne '.$res_json['playerCount'].'/'.$res_json['maxPlayers'].'.';
?>
mardi 27 décembre 2011 à 16:49:14 | Re : Récupération de variables impossible :'(

15miuteslive

Une chose à dire : TU GERES TROP !
Merci beaucoup !

J'ai juste une autre petite question, est-ce que ce code peut me permettre d'afficher le statut du serveur (Online ou Offline) ?
mardi 27 décembre 2011 à 17:03:31 | Re : Récupération de variables impossible :'(

alexflex25

Réponse acceptée !
Je pense que oui. Il faudrait faire:
Code PHP :
<?php
$res = Minequery::query("88.182.196.189");
$res_json = Minequery::query_json("88.182.196.189");

if ( $res !== FALSE ){
  echo 'Joueur en ligne '.$res['playerCount'].'/'.$res['maxPlayers'].'.';
}else{
  echo 'Serveur Offline';
}
//ou
if ( $res_json !== FALSE ){
  echo 'Joueur en ligne '.$res_json['playerCount'].'/'.$res_json['maxPlayers'].'.';
}else{
  echo 'Serveur Offline';
}
?>

mardi 27 décembre 2011 à 17:40:22 | Re : Récupération de variables impossible :'(

15miuteslive

Ca marche ! Un grand merci à toi pour ton aide précieuse !


Cette discussion est classée dans : code, variables, récupération, query, impossible


Répondre à ce message

Sujets en rapport avec ce message

récupération de code d'une page [ par booth ] bonjour,voilàa je voudrait pouvoir récupérer le code d'une page qui est affichée à l'écran Et là franchement j'ai pô d'idée pour le faire, je ne sais galere avec free et php MySQL [ par bigfootspi ] bon voila le code de mon livre d'or !le soucis c'est qu'il met dix ans a se connecter a la base alors que de temps en temps il va vite ! je ne compren Liens [ par fab191 ] Salutvoila mon problème je voudrais ouvrir ces liens dans une nouvelle fenêtreprint "$a_row[title]";< Recherche Dans Une Tres Grosse BDD [ par ekinoks ] Bonjour et bonne année a tout le monde.J'ai fait une fonction recher qui va recherché les ligne demendé dans une TRES GROSSE (+ de 10000 enregistremen accolades dans variables [ par salley ] Bonjour tous le monde,J'ai repris recemment le projet de quelqu'un d'autres, et cette personne utilise tout le temps des varables avec des accolades d comment avoir le "?" avant le $QUERY_STRING ??? [ par pyranhaz ] Bonjour, Le code suivant devrait me donner la page visitée par le visiteur, ce qui fonctionne...Cependant, il devrait avoir un interrogation "?" avant Formulaire => Variables + 1 [ par AleXsItsMe ] SalutEst-ce que sa serai possible que lorsque l'on clique sur " Valider " pour envoyer un formulaire, une variable augmente de 1 a chaque foisExemple deux pb dans mon code php!! [ par dev10 ] voilà mon prbolème, si squelqu'un peut m'aiderWarning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\....doc.php on l variables de sessions [ par attentio ] slt !peut_on ecrire :$_SESSION['prix_total']=number_format($prix_B+$_SESSION['prix_A'], 2);//affichage de la var. de sessionecho $_SESSION['prix_tot requete/boutons radio [ par attentio ] slt !j'aimerais dans un formulaire avoir deux boutons radioset lorque j'envoi mon formulaire la requete change//formulaire.php<input type="radio


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales