• Bitte beachte, dass wir eine Serverliste sind!
    Wenn du ein Problem auf einem Server hast (z.B. Entbannantrag, etc), dann ist das Forum hier der falsche Ort.
  • Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Serverstatus php auf Website

Status
Für weitere Antworten geschlossen.

TheGameqt

Minecrafter
Registriert
20 Juli 2015
Beiträge
4
Alter
29
Diamanten
300
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
 

softx

Kuhfänger
Registriert
7 November 2013
Beiträge
59
Diamanten
0
Minecraft
softx
Code:
<?

$ip="HIER IST DIE IP"; //IP Eintragen
@$abfrage = fsockopen ($ip, HIER IST DER PORT, $errno, $errstr, 5); //Port angeben standart: 25565 (Bei Minecraft)

if (!$abfrage) {

echo '<img scr="offline.png"></img>';  // Wenn Server nicht erreichbar ist, wird das Offlinebild ausgegeben.

}
else {

echo '<img scr="online.png"></img>'; //Wenn der Server erreichbar ist, wird diese Grafik angezeigt

}
?>
 

TheGameqt

Minecrafter
Registriert
20 Juli 2015
Beiträge
4
Alter
29
Diamanten
300
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. :/
 

softx

Kuhfänger
Registriert
7 November 2013
Beiträge
59
Diamanten
0
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:
<html>
<head></head>
<body>
Ich bin der Inhalt
<?php
echo 'Und ich der PHP-Text';
?>

</body>
</html>
 

Darcline

Redstoneengineer
Registriert
12 Dezember 2012
Beiträge
31
Alter
30
Diamanten
250
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 ?
 
Zuletzt bearbeitet:

Asgarioth

Kuhfänger
Registriert
17 Juli 2014
Beiträge
50
Diamanten
250
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:
<img src="http://deine-seite/Serverstatus.php"/>

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
 

TheGameqt

Minecrafter
Registriert
20 Juli 2015
Beiträge
4
Alter
29
Diamanten
300
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;"/>
 
Status
Für weitere Antworten geschlossen.
Oben