Serverstatus php auf Website

Dieses Thema im Forum "Technischer Support" wurde erstellt von TheGameqt, 5. Januar 2016.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. TheGameqt
    Offline

    TheGameqt

    Registriert seit:
    20. Juli 2015
    Beiträge:
    4
    Moinsen^^

    Ich sitze seit gestern Abend an einem eigentlich recht einfachen Problem. Ich habe jeweils 2 .php-Scripts, die den Minecraft und Teamspeak-Server anpingen und dann den Online-Status angeben.
    Das funktioniert soweit auch prima, jedoch soll das ganze jetzt in unserer Website eingebunden werden. Doch an diesem Punkt scheitert es. Ich selbst habe absolut keine Ahnung von der Materie und hab das ganze so nach Tutorials zusammengebastelt.
    Zwar habe ich Anleitungen gefunden, wie php in html eingebunden werden kann, jedoch funktioniert das Script dann nicht mehr; es wird absolut nichts angezeigt.

    http://pastebin.com/A2pmE2PL

    Das ganze soll in folgende Datei eingebunden werden: http://pastebin.com/A4iKje6P
    Dies ist jetzt php, in html scheint es gar nicht zu funktionieren...

    Egal wie ich es versuche, entweder passiert gar nix ODER es kommt folgender Fehler:


    Warning: Cannot modify header information - headers already sent by (output started at /var/customers/webs/ni246644_1/blockisland/index-test.php:100) in /var/customers/webs/ni246644_1/blockisland/index-test.php on line 118



    Und wo ich schon dabei bin: Gibts auch eine Möglichkeit, so etwas in ein Mybb-Forum einzubinden? :)

    Viele Grüße
    Chris
     
    #1
  2. softx
    Offline

    softx

    Registriert seit:
    7. November 2013
    Beiträge:
    49
    Minecraft:
    softx
    Code (Text):
    1. <?
    2.  
    3. $ip="HIER IST DIE IP"; //IP Eintragen
    4. @$abfrage = fsockopen ($ip, HIER IST DER PORT, $errno, $errstr, 5); //Port angeben standart: 25565 (Bei Minecraft)
    5.  
    6. if (!$abfrage) {
    7.  
    8. echo '<img scr="offline.png"></img>';  // Wenn Server nicht erreichbar ist, wird das Offlinebild ausgegeben.
    9.  
    10. }
    11. else {
    12.  
    13. echo '<img scr="online.png"></img>'; //Wenn der Server erreichbar ist, wird diese Grafik angezeigt
    14.  
    15. }
    16. ?>
     
    #2
  3. TheGameqt
    Offline

    TheGameqt

    Registriert seit:
    20. Juli 2015
    Beiträge:
    4
    Auch der Part funktioniert nicht.
    Bereits <? führt dazu, dass in der php Version ein Syntax-Error auftritt, in der html-Version wird nur der auskommentierte Teil per echo als Text ausgegeben. :/
     
    #3
  4. softx
    Offline

    softx

    Registriert seit:
    7. November 2013
    Beiträge:
    49
    Minecraft:
    softx
    Welche Dateiendung hat die Datei denn? Das Script muss direkt in die HTML-Datei eingefügt werden und natürlich in eine .php Datei geändert werden.

    Also:
    Code (Text):
    1. <html>
    2. <head></head>
    3. <body>
    4. Ich bin der Inhalt
    5. <?php
    6. echo 'Und ich der PHP-Text';
    7. ?>
    8.  
    9. </body>
    10. </html>
     
    #4
  5. TheGameqt
    Offline

    TheGameqt

    Registriert seit:
    20. Juli 2015
    Beiträge:
    4
    Ich habe eine mit .php und eine mit .html, aber in keiner der beiden will das funktionieren.
     
    #5
  6. Darcline
    Offline

    Darcline

    Registriert seit:
    12. Dezember 2012
    Beiträge:
    31
    Ort:
    Deutschland
    Minecraft:
    Rayos268
    füg mal am anfang der .php datei dies ein

    error_reporting(E_ALL); im php tag, also

    <?php
    error_reporting(E_ALL);
    ?>

    das sollte wenn ein fehler vorliegt aufjedenfall eine fehlermeldung rausschmeißen

    EDIT: allein das zweite script kann nicht funktionieren mit den ganzen echos :O
    wer macht den sowas tztzt .... das problem an den echos ist z.b. soetwas hier

    echo "<div id="blub">";
    und schon funktioniert es nicht
    du müsstest theoretisch von jedem echo die ""
    durch ' ersetzen quasi so:
    echo '<div id="blub">';
    allerdings würde ich davon abraten alles mit echos zu machen, ich nehme mich der sache mal kurz an ;)

    EDIT2: könntest du vielleicht das ganze nochmal in pastebin zur verfügung stellen bevor die ganzen echos davor gehauen wurden ?
     
    #6
  7. Asgarioth
    Offline

    Asgarioth

    Registriert seit:
    17. Juli 2014
    Beiträge:
    51
    Ort:
    Hessen
    Minecraft:
    Asgarioth
    Hallo,

    @softx hat bereits alles, was Du brauchst, geschrieben. Nimm deine HTML-Datei so wie sie ist (ohne das Du dort alles in echo verpackst) und ändere die Dateiendung nach .php. Du kannst zwar auch alles mit echo raushauen, ist aber unnötig und verkompliziert die Sache, da der PHP Interpreter die nicht in <? ?> verpackten Teile "einfach so ausliefert".

    Genau an den Stellen, wo das Statusbild eingebunden werden soll fügst Du den Code ein, den softx freundlicherweise bereitgestellt hat, um das img-Tag zu erzeugen.

    Alternativ kannst Du deinen PHP-Code auch ohne Modifikation nutzen, allerdings musst Du es dann anders einbetten, da das PHP-Skript von Dir das Bild als solches in einem eigenen Request ausliefert. Du kannst es also als Bildquelle im img-Tag verwenden.

    Das notwendige img-Tag im HTML sieht dann so aus:
    Code (Text):
    1.  
    2. <img src="http://deine-seite/Serverstatus.php"/>
    3.  
    Solltest Du diesen Weg gehen, kann die HTML-Datei einfach eine HTML-Datei bleiben (ohne echos, <? ?> Tags, etc. pp).

    Dazu noch ein Hinweis bzw. eine Frage: Handelt es sich bei dem Webserver um den eines Hoster, wo du nur Webspace hast, oder ist es dein eigener Webserver. Manche Hoster verbieten nämlich den Verbindungsaufbau zu beliebigen Ports, weshalb du u.U. gar keinen Socket öffnen kannst (fsockopen), wenn es erstmal im Webspace liegt. Das aber nur am Rande.

    @Darcline: Die Form (statisches HTML per echo in PHP auszuliefern) ist in der Tat nicht schön, jedoch funktioniert auch das, solange alle Doublequotes korrekt escaped werden, was hier auf den ersten Blick der Fall zu sein scheint.

    So long
    ~Asgarioth
     
    #7
    TheGameqt und jensIO gefällt das.
  8. TheGameqt
    Offline

    TheGameqt

    Registriert seit:
    20. Juli 2015
    Beiträge:
    4
    Vielen Dank an alle für die ausführlichen Beiträge!
    Hab das ganze jetzt einfach als Bild gelöst, hätte ehrlich gesagt nicht geglaubt, dass das funktioniert, aber wenn man die php-Datei als Bild angibt, funktioniert das Script:

    <h5 class="small">Minecraft-Server</h5>
    <img src="http://block-island.de/status.php" alt="status" style="width: 150px; height: 150px; margin-left: auto; margin-right: auto;"/>
     
    #8
Status des Themas:
Es sind keine weiteren Antworten möglich.