|
[Résolu] Tester si le server est On ou Off |
|
|
Auteur |
Message |
harvox
Membre royal très actif
Nombre de messages : 1187
Point(s) Fort(s) : Event/mapping
Point(s) Faible(s) : ruby ?
Niveau RPG Maker : Malgrès mes questions je connais pas mal le logiciel, je dirais 7/10
Date d'inscription : 05/04/2007
|
Sujet: [Résolu] Tester si le server est On ou Off Dim 29 Juin 2008 - 10:49 |
|
|
Bonjour, Je voudrais, à l'aide d'un script php, envoyer un packet à un server. Si celui ci le recoit il me renverrait un boléan et ensuite je ferais une condition :
Si true : Afficher online Sinon : Afficher offline
Si quelqu'un peux m'aider ce serais cool
|
|
|
|
Samarium
Conquérant
Nombre de messages : 2183
Age : 35
Point(s) Fort(s) : Programmation : PHP, Ruby, Java
Point(s) Faible(s) : Dessin
Niveau RPG Maker : Expert
Logiciel préféré : RMXP ; IGM
Date d'inscription : 05/08/2006
|
Sujet: Re: [Résolu] Tester si le server est On ou Off Dim 29 Juin 2008 - 13:41 |
|
|
Salut,
Je n'ai pas compris ta demande mais je pense que c'est ça :
- Code:
-
/* Test de la connection d'un serveur Code repris de la doc. PHP et adapté. */ function test_connection($server) { // Lit le port du service WWW. $service_port = getservbyname('www', 'tcp'); // Lit l'adresse IP du serveur de destination $address = gethostbyname($server); // Cree une socket TCP/IP. $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket === false) { return false; } // Connection $result = @socket_connect($socket, $address, $service_port); if ($result === false) return false; else return true; // Ferme le socket socket_close($socket); } Je n'ai pas essayer. A vérifier et adapté selon les besoins
Dernière édition par Samarium le Lun 30 Juin 2008 - 23:24, édité 1 fois (Raison : Code corrigé)
|
|
|
|
harvox
Membre royal très actif
Nombre de messages : 1187
Point(s) Fort(s) : Event/mapping
Point(s) Faible(s) : ruby ?
Niveau RPG Maker : Malgrès mes questions je connais pas mal le logiciel, je dirais 7/10
Date d'inscription : 05/04/2007
|
Sujet: Re: [Résolu] Tester si le server est On ou Off Dim 29 Juin 2008 - 13:45 |
|
|
Merci, oui c'est sa je pense.
En fait je voudrais tester si le serveur qui a l'ip : 5.124.94.254 est Online ou Offline et si il est Online le marquer sur une page php.
Vla merci d'avance, je trouve pas où je met l'ip dans ton code xD Ce serait pour tester si un serveur de jeu est en ligne ou pas.
|
|
|
|
Samarium
Conquérant
Nombre de messages : 2183
Age : 35
Point(s) Fort(s) : Programmation : PHP, Ruby, Java
Point(s) Faible(s) : Dessin
Niveau RPG Maker : Expert
Logiciel préféré : RMXP ; IGM
Date d'inscription : 05/08/2006
|
Sujet: Re: [Résolu] Tester si le server est On ou Off Dim 29 Juin 2008 - 21:29 |
|
|
- Citation :
- je trouve pas où je met l'ip dans ton code
Normalement, ça devrait marcher :
Appelle la fonction avec l'adresse IP en paramètre :
- Code:
-
test_connection(' 5.124.94.254')
|
|
|
|
harvox
Membre royal très actif
Nombre de messages : 1187
Point(s) Fort(s) : Event/mapping
Point(s) Faible(s) : ruby ?
Niveau RPG Maker : Malgrès mes questions je connais pas mal le logiciel, je dirais 7/10
Date d'inscription : 05/04/2007
|
Sujet: Re: [Résolu] Tester si le server est On ou Off Lun 30 Juin 2008 - 12:34 |
|
|
Erf, où est l'erreur ?
- Citation :
<?php
/* Test de la connection d'un serveur Code repris de la doc. PHP et adapté. */ function test_connection('5.124.94.254') { // Lit le port du service WWW. $service_port = getservbyname('www', 'tcp'); // Lit l'adresse IP du serveur de destination $address = gethostbyname('5.124.94.254'); // Cree une socket TCP/IP. $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket === false) { return false; } // Connection $result = socket_connect($socket, $address, $service_port); if ($socket === false) { return false; else return true; } // Ferme le socket socket_close($socket); }
if $test_connection==true { echo"Online"; } else { echo"Offline"; }
?> Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting '&' or T_VARIABLE in C:\wamp\www\Site_COPSv1\index.php on line 7
Merci d'avance.
|
|
|
|
Samarium
Conquérant
Nombre de messages : 2183
Age : 35
Point(s) Fort(s) : Programmation : PHP, Ruby, Java
Point(s) Faible(s) : Dessin
Niveau RPG Maker : Expert
Logiciel préféré : RMXP ; IGM
Date d'inscription : 05/08/2006
|
Sujet: Re: [Résolu] Tester si le server est On ou Off Lun 30 Juin 2008 - 23:23 |
|
|
Houlà ! Tu ne connais pas très bien le PHP, je me trompe ?
La condition doit avoir des parenthèses : if (machin) ...
- Code:
-
$test_connection==true Là, tu testes si une variable nommé "$test_connection" vaut "true" est non la valeur renvoyé par la fonction
- Code:
-
function test_connection('5.124.94.254') { ça il ne faut pas modifier ... la fonction reste tel quel.
Voici le code corrigé ainsi que quelques erreurs corrigés que j'ai fais au départ : - Code:
-
<?php /* Test de la connection d'un serveur Code repris de la doc. PHP et adapté. */ function test_connection($server) { // Lit le port du service WWW. $service_port = getservbyname('www', 'tcp'); // Lit l'adresse IP du serveur de destination $address = gethostbyname($server); // Cree une socket TCP/IP. $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket === false) { return false; } // Connection $result = @socket_connect($socket, $address, $service_port); if ($result === false) return false; else return true; // Ferme le socket socket_close($socket); }
if (test_connection('5.124.94.254') === true) echo"Online"; else echo"Offline"; ?>
|
|
|
|
harvox
Membre royal très actif
Nombre de messages : 1187
Point(s) Fort(s) : Event/mapping
Point(s) Faible(s) : ruby ?
Niveau RPG Maker : Malgrès mes questions je connais pas mal le logiciel, je dirais 7/10
Date d'inscription : 05/04/2007
|
Sujet: Re: [Résolu] Tester si le server est On ou Off Lun 30 Juin 2008 - 23:33 |
|
|
Mci, non je connais pas tellement le php, donc je fais encore des fautes d'inatention^^
Hmmm dans le code que tu m'a donné, je recois sa :
Fatal error: Call to undefined function socket_create() in C:\wamp\www\test\onoff.php on line 12
L'erreur vien de la : $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
Mci d'avance
|
|
|
|
Samarium
Conquérant
Nombre de messages : 2183
Age : 35
Point(s) Fort(s) : Programmation : PHP, Ruby, Java
Point(s) Faible(s) : Dessin
Niveau RPG Maker : Expert
Logiciel préféré : RMXP ; IGM
Date d'inscription : 05/08/2006
|
Sujet: Re: [Résolu] Tester si le server est On ou Off Lun 30 Juin 2008 - 23:41 |
|
|
- Citation :
- Fatal error: Call to undefined function socket_create() in C:\wamp\www\test\onoff.php on line 12
Fonction socket non défini => donc fonction non activé dans les configurations de PHP. Vu que tu as Wamp, voici la démarche :
Cliques sur "Configuration PHP" Ensuite sur "Extensions PHP" Enfin sur "php_sockets"
Wamp redémarre et normalement ça devrait marcher
|
|
|
|
harvox
Membre royal très actif
Nombre de messages : 1187
Point(s) Fort(s) : Event/mapping
Point(s) Faible(s) : ruby ?
Niveau RPG Maker : Malgrès mes questions je connais pas mal le logiciel, je dirais 7/10
Date d'inscription : 05/04/2007
|
Sujet: Re: [Résolu] Tester si le server est On ou Off Mar 1 Juil 2008 - 10:11 |
|
|
"Configuration PHP" c'est dans local host ? Parce que je ne peux rien modifier...
Sinon y-a-t-il une fonction pour savoir, enfin tester, si un programme est allumé ou éteint ? Merci
|
|
|
|
Samarium
Conquérant
Nombre de messages : 2183
Age : 35
Point(s) Fort(s) : Programmation : PHP, Ruby, Java
Point(s) Faible(s) : Dessin
Niveau RPG Maker : Expert
Logiciel préféré : RMXP ; IGM
Date d'inscription : 05/08/2006
|
Sujet: Re: [Résolu] Tester si le server est On ou Off Mar 1 Juil 2008 - 11:33 |
|
|
Pour la configuration :
Pour savoir si un programme externe est ouvert, j'ai trouvé ça dans la documentation :
- Doc' PHP a écrit:
- array proc_get_status ( resource $process )
proc_get_status() lit les données concernant le processus process créé avec la fonction proc_open().
ça retourne un "array" donc un tableau : $variable['running'] vaudra true/false.
Mais normalement, ça marche seulement pour un programme que tu as déjà ouvert avec la fonction proc_open(). Si tu veux tester un programme ouvert par l'utilisateur lui même, je ne sais pas si c'est possible. Si cette fonction t'intéresse, regarde la documentation :
proc-open proc_get_status
|
|
|
|
harvox
Membre royal très actif
Nombre de messages : 1187
Point(s) Fort(s) : Event/mapping
Point(s) Faible(s) : ruby ?
Niveau RPG Maker : Malgrès mes questions je connais pas mal le logiciel, je dirais 7/10
Date d'inscription : 05/04/2007
|
Sujet: Re: [Résolu] Tester si le server est On ou Off Mar 1 Juil 2008 - 14:02 |
|
|
Merci
Hmmm j'ai fais sa mais j'ai un problème :
- Citation :
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title>COPS V1.2</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" /> </head> <body> <!--#########################################################################################--> <div id='haut'> <img src='banniere.jpg' alt='bannierre'/><br/> <b>COPS Conquer Online Private Server V1.2</b> </div> <!--#########################################################################################--> <div id='menu'> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="100" height="50"> <param name="movie" value="bouton.swf?texte=accueil&couleur=0x00FF00&fond=0xFFFFFF&lien=http://beldjilali.fr.nf"> <param name="quality" value="high"> <embed src="bouton.swf?texte=accueil&couleur=0x00FF00&fond=0xFFFFFF&lien=http://beldjilali.fr.nf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100" height="50"> </embed> </object>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="100" height="50"> <param name="movie" value="bouton.swf?texte=accueil&couleur=0x00FF00&fond=0xFFFFFF&lien=http://beldjilali.fr.nf"> <param name="quality" value="high"> <embed src="bouton.swf?texte=Server Statut&couleur=0x00FF00&fond=0xFFFFFF&lien=http://beldjilali.fr.nf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100" height="50"> </embed> </object>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="100" height="50"> <param name="movie" value="bouton.swf?texte=accueil&couleur=0x00FF00&fond=0xFFFFFF&lien=CreerCompte.php"> <param name="quality" value="high"> <embed src="bouton.swf?texte=Creer Compte&couleur=0x00FF00&fond=0xFFFFFF&lien=CreerCompte.php" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100" height="50"> </embed> </object> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="100" height="50"> <param name="movie" value="bouton.swf?texte=accueil&couleur=0x00FF00&fond=0xFFFFFF&lien=http://beldjilali.fr.nf"> <param name="quality" value="high"> <embed src="bouton.swf?texte=Screenshot&couleur=0x00FF00&fond=0xFFFFFF&lien=http://beldjilali.fr.nf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100" height="50"> </embed> </object> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="100" height="50"> <param name="movie" value="bouton.swf?texte=accueil&couleur=0x00FF00&fond=0xFFFFFF&lien=http://beldjilali.fr.nf"> <param name="quality" value="high"> <embed src="bouton.swf?texte=Forum&couleur=0x00FF00&fond=0xFFFFFF&lien=http://beldjilali.fr.nf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100" height="50"> </embed> </object>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="100" height="50"> <param name="movie" value="bouton.swf?texte=accueil&couleur=0x00FF00&fond=0xFFFFFF&lien=http://beldjilali.fr.nf"> <param name="quality" value="high"> <embed src="bouton.swf?texte=Download&couleur=0x00FF00&fond=0xFFFFFF&lien=http://beldjilali.fr.nf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100" height="50"> </embed> </object> </div> <!--#########################################################################################--> <div id='zone'> <p>Merci de renseigner les champs, un account par personne s'il vous plaît.</p> <?php $pseudo = htmlspecialchars ($_POST['pseudo']); $message = htmlspecialchars ($_POST['mdp']); $message = mysql_real_escape_string(htmlspecialchars($_POST['mdp'])); $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
if(empty($_POST)) { ?>
<form name="acces" method="post" action="?"> Pseudo : <input type="text" name="pseudo" /><br /> <br/> Mot de passe: <input type="password" name="mdp" /><br /> <input type="submit" name="Créer" /> </form>
<?php } elseif(($_POST['pseudo']) || ($_POST['mdp']) == NULL) echo'Veuillez remplir tous les champs svp'; { if } else { $repertoire = 'C:\Mon serveur privé\TheCOServer\TheCOServer\Server\Accounts\\'; // à préciser le répertoire concerné. Ne pas oublier le '/' à la fin $filename = $repertoire . $_POST['pseudo'] . '.acc'; // nom du fichier // test si une page du même nom existe déjà ou pas... si oui, on fait rien. si non on crée la page ! if(file_exists($filename)) { // message pour indiquer qu'un fichier existe déjà ?> <div style="color: #f00; font-weight: bold;"> Il existe déjà un pseudo du nom de <em><?php echo $_POST['pseudo']; ?></em>.<br /> Merci de préciser au autre pseudo. </div> <div style="color: #f00;"> Appuyez sur le bouton RETOUR du navigateur pour modifier vos données.<br /> Merci </div> <?php } else // le fichier n'existe pas, alors on le créer ! { // on définit le texte à l'intérieur $int_texte = '[Account]' . "\n"; $int_texte .= 'AccName=' . $_POST['pseudo'] . "\n"; $int_texte .= 'Password=' . $_POST['mdp'] . "\n"; $int_texte .= 'LogonCount=0' . "\n"; $int_texte .= 'LogonType=2' . "\n"; $int_texte .= 'Flags=0' . "\n"; $int_texte .= 'Character='; $FileCO = fopen($filename,"w"); // ouverture du fichier fputs($FileCO,$int_texte); // écriture dans le fichier fclose($FileCO); // fermeture du fichier // Le fichier par défaut est en .txt, on le renomme en .acc rename($filename, substr($filename, 0, strlen($filename)-3) . 'acc'); // chmod 777 (lecture / écriture complète sur le fichier) chmod($filename, 0777); echo '<div>Pseudo <strong> ' . $_POST['pseudo'] . '</strong> créé !</div>'; } // fin test existence pour création
} // fin du if du fomulaire ?>
</body> </html> </div> <!--#########################################################################################--> <div id='bas'> </div> <!--#########################################################################################-->
Bug a cette ligne : elseif(($_POST['pseudo']) || ($_POST['mdp']) == NULL) Je sais pas comment vérifier si les champs sont remplis ou pas :s
Merci
Dernière édition par Samarium le Mar 1 Juil 2008 - 14:47, édité 1 fois (Raison : Désactivation du HTML)
|
|
|
|
Copyright
Villageois (Nv 1)
Nombre de messages : 4
Age : 74
Date d'inscription : 24/06/2008
|
Sujet: Re: [Résolu] Tester si le server est On ou Off Mar 1 Juil 2008 - 14:50 |
|
|
- Code:
-
elseif($_POST['pseudo'] == null || $_POST['mdp'] == null) on peut aussi faire ceci: - Code:
-
elseif(!isset($_POST['pseudo']) || !isset($_POST['mdp'])) euh.... c'est quoi ça ???
- harvox a écrit:
- Code:
-
elseif(($_POST['pseudo']) || ($_POST['mdp']) == NULL) echo'Veuillez remplir tous les champs svp'; { if } Ce if, qu'est-ce qu'il fait là????
Dernière édition par Copyright le Mar 1 Juil 2008 - 14:58, édité 2 fois
|
|
|
|
Samarium
Conquérant
Nombre de messages : 2183
Age : 35
Point(s) Fort(s) : Programmation : PHP, Ruby, Java
Point(s) Faible(s) : Dessin
Niveau RPG Maker : Expert
Logiciel préféré : RMXP ; IGM
Date d'inscription : 05/08/2006
|
Sujet: Re: [Résolu] Tester si le server est On ou Off Mar 1 Juil 2008 - 14:54 |
|
|
C'est surtout le "echo" après cette ligne qui traine comme ça. Ensuite du à une accolade ... surement du "else". Cela signifie que tu dois mettre
- Citation :
- elseif(($_POST['pseudo']) || ($_POST['mdp']) == NULL)
{ echo'Veuillez remplir tous les champs svp'; Ensuite pour tester un champ vide :
$_POST['pseudo'] = '' ou empty($_POST['pseudo'])
|
|
|
|
harvox
Membre royal très actif
Nombre de messages : 1187
Point(s) Fort(s) : Event/mapping
Point(s) Faible(s) : ruby ?
Niveau RPG Maker : Malgrès mes questions je connais pas mal le logiciel, je dirais 7/10
Date d'inscription : 05/04/2007
|
|
|
|
Contenu sponsorisé
|
Sujet: Re: [Résolu] Tester si le server est On ou Off |
|
|
|
|
|
|
|
[Résolu] Tester si le server est On ou Off |
|
|