Guus Posted May 18, 2018 Share Posted May 18, 2018 Bonjour à tous, Existe t-il ou est-ce possible de créer un script PHP pour afficher le statut du serveur sur un site web ? "Hors ligne" ou "En ligne". Link to comment Share on other sites More sharing options...
0 Gibier Posted May 18, 2018 Share Posted May 18, 2018 Bien sûr que c'est possible, voici le code que j'ai trouvé sur le web (édité pour mon jeu) <?php $fp = @fsockopen("Mettre ton ip ici", "Mettre ton port ici", $errno, $errstr, 1); if($fp >= 1) { echo '<img src="../public/img/el.png" align="middle" />'; } else { echo '<img src="../public/img/hl.png" align="middle" />'; } ?> (affiche des images En ligne/hors ligne) Si tu veux des string à la place d'images remplace les <img /> par <h3>En ligne<h3> <h3>Hors ligne<h3> Il faudra que tu fasse afficher la page avec un iframe Tu devras également intégré le css pour qu'il fonctionne correctement avec le site. Edit: Tu dois écrire le code dans un document texte sous le type .php Guus 1 Link to comment Share on other sites More sharing options...
0 Talikan Posted May 18, 2018 Share Posted May 18, 2018 Bonjour, Cela n'existe encore pas, malheureusement. Je pense que c'est possible d'en créer un cependant. Link to comment Share on other sites More sharing options...
0 Guus Posted May 19, 2018 Author Share Posted May 19, 2018 21 hours ago, Gibier said: Bien sûr que c'est possible, voici le code que j'ai trouvé sur le web (édité pour mon jeu) <?php $fp = @fsockopen("Mettre ton ip ici", "Mettre ton port ici", $errno, $errstr, 1); if($fp >= 1) { echo '<img src="../public/img/el.png" align="middle" />'; } else { echo '<img src="../public/img/hl.png" align="middle" />'; } ?> (affiche des images En ligne/hors ligne) Si tu veux des string à la place d'images remplace les <img /> par <h3>En ligne<h3> <h3>Hors ligne<h3> Il faudra que tu fasse afficher la page avec un iframe Tu devras également intégré le css pour qu'il fonctionne correctement avec le site. Edit: Tu dois écrire le code dans un document texte sous le type .php Merci beaucoup ! Je vais regarder à ça de plus prêt alors. Peut-on pousser plus loin le script en affichant par exemple : - Le nombre de joueurs connectés ? - Le nombre de joueurs inscrits ? (Peut-être doit on attendre la compatibilité MySQL pour ça ?) Link to comment Share on other sites More sharing options...
0 Gibier Posted May 21, 2018 Share Posted May 21, 2018 On 5/19/2018 at 11:17 AM, Guus said: Merci beaucoup ! Je vais regarder à ça de plus prêt alors. Peut-on pousser plus loin le script en affichant par exemple : - Le nombre de joueurs connectés ? - Le nombre de joueurs inscrits ? (Peut-être doit on attendre la compatibilité MySQL pour ça ?) Je ne suis pas codeur mais pour ce qui est d'afficher ces informations c'est possible mais je crois qu'il faudrait un autre truc que SQLite afin que le site puissent acceder aux tables (là le script ne fait qu'afficher un truc si le serveur est démarré/fermé) Il ne n'accède pas à la base de donné. Link to comment Share on other sites More sharing options...
0 Guus Posted June 2, 2018 Author Share Posted June 2, 2018 Parfait ça fonctionne ! En revanche, je n'ai pas eu besoin de l'afficher dans un ifram Link to comment Share on other sites More sharing options...
0 Alexoune001 Posted June 5, 2018 Share Posted June 5, 2018 Hello, J'ai réussi à faire pour afficher le nombre d'inscrits. J'ai même fait la liste des joueurs. Si vous souhaitez que je vous distribue mon code php créé par moi même, je peux mais vous devrez attendre ce soir car je suis à l'hopital la toute la journée comme ma copine a accouchée et est hospitalisée PS: voilà l'exemple,quéj'ai créé pour mon jeu : http://drastal-online.fr/index.php Voilà, bonne journée! pLeet 1 Link to comment Share on other sites More sharing options...
0 Gibier Posted June 5, 2018 Share Posted June 5, 2018 8 hours ago, Alexoune001 said: Hello, J'ai réussi à faire pour afficher le nombre d'inscrits. J'ai même fait la liste des joueurs. Si vous souhaitez que je vous distribue mon code php créé par moi même, je peux mais vous devrez attendre ce soir car je suis à l'hopital la toute la journée comme ma copine a accouchée et est hospitalisée PS: voilà l'exemple,quéj'ai créé pour mon jeu : http://drastal-online.fr/index.php Voilà, bonne journée! Génial! Je serais preneur lorsque tu as le temps; prends ton temps je ne suis pas pressé. Aussi en haut de ton etat serveur c'est affiché ca: Le serveur est actuellement OUVERT1 Le un est un bogue du script ou tu as marqué un 1 au lieu de ! ? Link to comment Share on other sites More sharing options...
0 Alexoune001 Posted June 5, 2018 Share Posted June 5, 2018 J'ai du faire une faute de frappe ^^' je corrigerai sa Link to comment Share on other sites More sharing options...
0 Guus Posted June 8, 2018 Author Share Posted June 8, 2018 On 6/5/2018 at 10:48 AM, Alexoune001 said: Hello, J'ai réussi à faire pour afficher le nombre d'inscrits. J'ai même fait la liste des joueurs. Si vous souhaitez que je vous distribue mon code php créé par moi même, je peux mais vous devrez attendre ce soir car je suis à l'hopital la toute la journée comme ma copine a accouchée et est hospitalisée PS: voilà l'exemple,quéj'ai créé pour mon jeu : http://drastal-online.fr/index.php Voilà, bonne journée! Mais ça à l'air génial ! Je serais vraiment preneur du code quand tu auras le temps de le distribuer Link to comment Share on other sites More sharing options...
0 Alexoune001 Posted June 10, 2018 Share Posted June 10, 2018 Bonjour les amis, Pour le code, je vais vous le donner ce soir, mais par contre, il vous faudra une petite condition : Que le serveur ou du moins que le fichier de la data base du jeu soit dans le même dossier/hébergeur que votre fichier .php. Etant donné que dans mon code, je fais une lecture du code via SQLite en php, il faut donc que le fichier php et la base donnée du jeu soit dans le même dossier/hébergeur. Voila comme ça vous pouvez préparer le temps que moi je rentre ce soir après l’hôpital et que je vous envoie mon code Link to comment Share on other sites More sharing options...
0 Alexoune001 Posted June 10, 2018 Share Posted June 10, 2018 @Gibier @Guus Et voilà comme promis, le code en PHP PS: Désolé pour le double poste, je vous donnes toutes mes pages que j'ai créé en PHP pour mon propre projet. Si vous avez besoin d'aide, d'explications ou autres, je reste à disposition de tous ! PS² : N'oubliez pas de mettre toutes les pages dans le même répertoire que le fichier intersect.db, et de préférence héberger sur un VPS ou serveur dédié à l'aide de Wamp, Uwamp, EasyPHP, ou autre logiciel de ce genre. Vous pouvez héberger sur un serveur mutualisé (hébergement web), le seul problème est que si vous avez pas d'espace disque "illimité", votre data base risque de ne pas passer Page : config.php Quote <?php //Ouvrir la base de donnée à l'aide de PDO $db = new PDO('sqlite:intersect.db'); //Activer les exceptions $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); ?> Page : index.php Quote <style> /*Code fait 100% par Alexoune001 pour le MMORPG Drastal Online. */ table { width: 100%; border-collapse: collapse; text-align: center; } td, th { border: 1px solid black; } </style> <?php include("config.php"); ?> <center><?php echo include('statut_serveur.php'); ?></center> <center><h2>Liste des joueurs inscrit</h2> <font color="red">Veuillez noter que la liste sera mise à jour une à deux fois par mois.</font><br /> <strong>Dernière mise à jour effectuée le</strong> 22 Mai 2018.</center> <table> <thead> <tr> <th><strong>#</strong></th> <th><strong>Pseudo</strong></th> <th><strong>Grade</strong></th> </tr> </thead> <tbody> <?php $sql = 'SELECT * FROM users'; $stmt = $db->prepare($sql); $stmt->execute(); //extaire les données $member_list = $stmt->fetchAll(PDO::FETCH_ASSOC); $stmt->closeCursor(); //On compte le nombre d'entrée dans la table. $sql = 'SELECT COUNT(*) AS nb FROM users'; $result = $db->query($sql); $columns = $result->fetch(); $nb = $columns['nb']; echo '<center>Il y a '.$nb.' joueurs inscrit sur <strong>Drastal Online</strong>.</center> <br />'; //Fin du comptage //Parcourir la liste des membres foreach ($member_list as $row) { ?> <tr> <td><?php echo $row["id"]; ?></td> <td><a href="voir_joueur.php?id=<?php echo $row["id"]; ?>"><?php echo $row["user"]; ?></a></td> <td> <?php if($row["power"] == "0") { echo "Joueur"; } elseif($row["power"] == "1") { echo "<font color='green'><strong>Modérateur</strong></font>"; } elseif($row["power"] == "2") { echo "<font color='red'><strong>Administrateur</strong></font>"; } ?> </td> </tr> <?php } ?> </tbody> </table> Page : statut_serveur.php Quote <?php $connect = TRUE; // Autoriser ou non la connexion $port = '5400'; // Port du serveur $ip = 'localhost'; // adresse (ip) du serveur // Mise en place du texte du nom de serveur echo 'Le serveur est actuellement'; // Verification du statut if (! $sock = @fsockopen($ip, $port, $num, $error, 5)) // Si il est hors ligne echo ' <font color="red"><strong>FERME</strong></font>'; else{ // Si il est en ligne echo ' <font color="green"><strong>OUVERT</strong></font>'; fclose($sock); } ?> BONUS PAGE : voir_joueur.php Quote <?php include("config.php"); if(isset($_GET['id'])) { $sql = 'SELECT * FROM characters WHERE user_id="'.$_GET["id"].'" '; $stmt = $db->prepare($sql); $stmt->execute(); //extaire les données $member_list = $stmt->fetchAll(PDO::FETCH_ASSOC); $stmt->closeCursor(); foreach ($member_list as $row) { ?> <a href="/index.php">Retour</a> <h2><strong>Informations du joueur :</strong></h2> <ul> <li><?php echo "<strong>Pseudo :</strong> ".$row["name"]; ?></li> <li> <?php if($row["level"] <= "5") { echo "<font color='black'><strong>Level :</strong> ".$row["level"]."</font>"; } elseif($row["level"] <= "10") { echo "<font color='blue'><strong>Level :</strong> ".$row["level"]."</font>"; } elseif($row["level"] <= "15") { echo "<font color='green'><strong>Level :</strong> ".$row["level"]."</font>"; } elseif($row["level"] <= "19") { echo "<font color='orange'><strong>Level :</strong> ".$row["level"]."</font>"; } elseif($row["level"] == "20") { echo "<font color='red'><strong>LEVEL MAX</strong></font>"; } ?> </li> <li> <strong>Classe :</strong> <?php if($row["class"] == "1") { echo "Barbare"; } elseif($row["class"] == "3") { echo "Guerrier"; } elseif($row["class"] == "4") { echo "Voleur"; } ?> </li> <li> <strong>Nombre d'exp total :</strong> <?php echo $row["exp"]; ?> </li> <?php } } else { echo "ERREUR : Vous n'avez pas choisi de joueur."; } ?> Gibier 1 Link to comment Share on other sites More sharing options...
Question
Guus
Bonjour à tous,
Existe t-il ou est-ce possible de créer un script PHP pour afficher le statut du serveur sur un site web ? "Hors ligne" ou "En ligne".
Link to comment
Share on other sites
11 answers to this question
Recommended Posts