Datum Zeit
Navigation
COMMUNITY
bullet News
bullet Clubforum
bullet Artikel
bullet Gästebuch
bullet Link Us
bullet FAQ
bullet Suche
bullet Banner Buchung
SUPPORTCLUB
bullet Das Team
bullet International Support
KONTAKT
bullet Kontakt
bullet Impressum
Wer ist Online
TS² - Viewer
Werbung
PhpFusion-skmods.eu
Forum
Neuste Themen
bullet Benutzergruppen +++ ...
bullet online_users_panel E...
bullet Newspanel auf Starts...
bullet pd_landmark 1.1.2
bullet Fehler mit "eigener ...
Heißeste Themen
bullet scoresystem [410]
bullet pd_warning v7 [190]
bullet Die V-Bank [169]
Neuste Artikel
bullet Datenbanksicherung z...
bullet Fotodrucker
bullet Die GPL - Code of Co...
bullet INTERNETHANDE: NEUE ...
bullet Klagewelle gegen Rau...
Downloads

Neue Downloads

bullet Webradio Icon Set
bullet Icon Set
bullet SGIF Alpha News...
bullet SGI Fusion News...
bullet MF-Slots

Top 5 Downloads

bullet ScoreSystem [3919]
bullet MWN Geschenke S... [2641]
bullet Verwarnsystem [1875]
bullet Birthday Panel [1852]
bullet User_Fotoalbum_... [1763]
Thread ansehen
 Drucke Thread
[gelöst] Titelanzeige wird nicht ausgegeben im Panel
Jolandrus
#1 Drucke Post
Geschrieben am 19. Mai 2010 19:30:36
User Avatar

Anfänger


Posts: 27
Registriert seit: 24.06.09

Lehrling
Nächstes Level: 27/50

Scores: gesperrt

Verwarnstatus: warningwarningwarningwarning
Ich habe folgendes Script vom Streamanbieter bekommen, womit man sich die Daten des Shoutcast anzeigen lassen kann. Die Serverdaten habe ich mit XXXXXX gesetzt.:
Code
<?php
/*
 * STREAMPLUS - Script zum Auslesen aktueller Shoutcast - Server - Informationen
 *
 * Das Script ist relativ einfach aufgebaut. Sollten Sie trotzdem Hilfe brauchen,
 * lesen Sie sich den Artikel in der FAQ dazu durch.
 * http://www.stream...q.php#S.06
 */
define("HOST", "XXXXXXXXXXXX");     // finden Sie unter Server -> Server-Daten ->

Streamen als Moderator
define("PORT", "XXXXXXXXXXXX");                    // finden Sie unter Server ->

Server-Daten -> Streamen als Moderator
define("ADMIN_PASSWORT", "XXXXXXXXXXXX");   // finden Sie unter Server ->

Optionen



function between($von,$bis,$string) {
   $a = explode($von,$string);
   $b = explode($bis,$a[1]);
   return $b[0];
}


// Verbindung mit dem Shoutcast - Server und Download der XML Datei

$xml = '';
$fp = fsockopen(HOST, PORT, $errno, $errstr, 5);
$send = "GET /admin.cgi?pass=".ADMIN_PASSWORT."&mode=viewxml&page=0 HTTP/1.1\r\n"
      . "Host: ".HOST.":".PORT."\r\n"
      . "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.3)

Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)\r\n"
      . "Accept:

text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"
      . "Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n"
      . "Accept-Encoding: gzip,deflate\r\n"
      . "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n"
      . "Keep-Alive: 300\r\n"
      . "Connection: keep-alive\r\n\r\n";
fwrite($fp, $send);
while(!feof($fp))
{
    $xml .= fgets($fp, 1024);
}
fclose($fp);




/*
 * In den folgenden Variablen stehen die wichtigsten Informationen wie:
 * das aktuelle Lied, der Status des Servers, wie viele Zuhoerer gerade online

sind und wie der Server ueberhaupt heisst
 */

$server_titel =      between("<SERVERTITLE>", "</SERVERTITLE>", $xml);
$server_genre =      between("<SERVERGENRE>", "</SERVERGENRE>", $xml);
$server_url =      between("<SERVERURL>", "</SERVERURL>", $xml);
$stream_status =   (int)between("<STREAMSTATUS>", "</STREAMSTATUS>", $xml);
$zuhoerer =       (int)between("<CURRENTLISTENERS>", "</CURRENTLISTENERS>",

$xml);
$max_zuhoerer =    (int)between("<MAXLISTENERS>", "</MAXLISTENERS>", $xml);
$song_titel =       between("<SONGTITLE>", "</SONGTITLE>", $xml);





/*
 * Im Folgenden werden die Zuhoerer aus der XML ausgelesen und in das array

$listeners geschrieben
 *
 * das array ist folgendermassen aufgebaut:
 *
 * $listeners[index][ip]               <- IP des Zuhoerers
 * $listeners[index][client]           <- Name des Programms, was der Zuhoerer

benutzt
 * $listeners[index][verbindungsdauer] <- Zeit seitdem der Zuhoerer online ist

(angabe in Sekunden)
 */

$listeners = array();
$l = explode("<LISTENER>", between("<LISTENERS>", "</LISTENERS>", $xml));
foreach($l as $listener) {
   if(between("<HOSTNAME>", "</HOSTNAME>", $listener) != "") {
      array_push($listeners, array(
         "ip" => between("<HOSTNAME>", "</HOSTNAME>", $listener),
         "client" => between("<USERAGENT>", "</USERAGENT>",

$listener),
         "verbindungsdauer" => between("<CONNECTTIME>",

"</CONNECTTIME>", $listener))
      );
   }
}





/*
 * Im Folgenden werden die Songs aus der XML ausgelesen und in das array $songs

geschrieben
 *
 * das array ist folgendermassen aufgebaut:
 *
 * $songs[index][abspielzeit]   <- Unix - Timestamp von dem Datum und der Zeit,

wann das Lied abgespielt wurde
 * $songs[index][titel]         <- Titel des Liedes plus Albumname und Interpret,

falls angegeben
 */
//
$songs = array();
$s = explode("<SONG>", between("<SONGHISTORY>", "</SONGHISTORY>", $xml));
foreach($s as $song) {
   if(between("<TITLE>", "</TITLE>", $song) != "") {
      array_push($songs, array(
         "abspielzeit" => between("<PLAYEDAT>", "</PLAYEDAT>",

$song),
         "titel" => between("<TITLE>", "</TITLE>", $song))
      );
   }
}
?>

<html>
<head>
   <title>StreamPlus - Shotcast Server Information</title>
   <style type="text/css">
      body {
         font-family: Arial, Verdana;
      }
   </style>
</head>
<body>

<table>
   <tr>
      <td>Aktueller Titel:</td>
      <td><b><?php echo $song_titel; ?></b></td>
      <td>(Titel des aktuellen Liedes)</td>
   </tr>
</table>
</body>
</html>



Dieses Script habe ich auf meinen Server geladen mit dem Namen ssi.php .
Wenn ich jetzthttp:// meineurl/ssi.php aufrufe bekomme ich auch den Titel angezeigt.
Nun wollte ich das ganze in ein Panel auf meiner php fusion V7 seite anzeigen lassen.
Dazu habe ich im Panel folgendes geschrieben:
Code
openside("Wir spielen gerade für Euch");
  echo '<html>
<head>
   <title>StreamPlus - Shotcast Server Information</title>
   <style type="text/css">
      body {
         font-family: Arial, Verdana;
      }
   </style>
</head>
<body>

<table>
   <tr>
      <td>Aktueller Titel:</td>
      <td><b><?php echo $song_titel; ?></b></td>
   </tr>
</table>
</body>
</html>';
closeside();



Es wird mir Zwar das Panel mit der Überschrift angezeigt, allerdings nicht der Titel. Es steht da nur Aktueller Titel: aber der titel als solches ned. Was habe ich falsch gemacht? Ich hab schon gegooglet aber auch das brachte mich nicht weiter. Kann mir bitte jemand helfen? Evtl. den Code berichtigen?
Vielen Dank
 top
www.radio-dt61.de
DjMicha1985
#2 Drucke Post
Geschrieben am 19. Mai 2010 19:39:50
User Avatar




Posts: 595
Registriert seit: 03.10.08

Profi
Nächstes Level: 670/1000

Scores: gesperrt
Also ich denke dein server hat kein fsockopen. geh ma auf granade.eu und versuch ma sein radiopanel. Auserdem hast du im panel die variable echo $song_titel; angegeben, aber vorher net definiert. Das panel is total nonsinns
Editiert von DjMicha1985 am 19. Mai 2010 19:42:40
 top
http://radio-skyfly.de
Jolandrus
#3 Drucke Post
Geschrieben am 19. Mai 2010 19:49:59
User Avatar

Anfänger


Posts: 27
Registriert seit: 24.06.09

Lehrling
Nächstes Level: 27/50

Scores: gesperrt

Verwarnstatus: warningwarningwarningwarning
@ DjMicha1985
fsockopen habe ich auf dem Server. Hm das script habe ich so vom Streamanbieter bekommen. Die haben es so zum Download bereitgestellt. Ich habe lediglich die Sachen herausgenomen, die ich nicht benötige wie z.B.: Höreranzahl, Servertitel ect. Was an dem Script ist den überig was ich nicht brauche. Und ja die Radiotoolbox habe ich auch schon in betracht gezogen, allerdings habe ich da immer das Prob. das mir nach nem Songwechsel angezeigt wird, das der Stream offline sein soll obwohl wir On Air sind.

Kannst Du das Script anpassen , ich meine das löschen was ich nicht brauche, wär klasse. Und mir evtl. den Code für das Panel geben. Ich bin leider noch nicht so firm in PHP und benötige da Hilfe, vielen Dank.
 top
www.radio-dt61.de
MarcusG
#4 Drucke Post
Geschrieben am 19. Mai 2010 22:43:17
User Avatar




Posts: 2583
Registriert seit: 21.01.09

Meister
Nächstes Level: 2611/5000

Scores: gesperrt
Das Panel ist garnicht so falsch. Wenn du ein wenig selbst nachdenkst kommst du selbst drauf.

Die Daten die du anzeigen willst sind in der ssi.php gespeichert, richtig?

Wie bekommt dein Panel jetzt diese Daten? Stichwort: Google Search include
Gruß Marcus

phpfusion.marcusg.de/signaturen/marcusg_1.png
Support per Mail, PN, ICQ oder MSN ist kostenpflichtig!
if ($ahnung == 'keine' ) { use ( FAQ ) && ( Google | | Suche ) }
if ($antwort == 0 ) { post ( Frage ) }
 top
http://phpfusion.marcusg.de
Jolandrus
#5 Drucke Post
Geschrieben am 19. Mai 2010 23:48:00
User Avatar

Anfänger


Posts: 27
Registriert seit: 24.06.09

Lehrling
Nächstes Level: 27/50

Scores: gesperrt

Verwarnstatus: warningwarningwarningwarning
@ Marcus

Ja die Daten sind in der ssi.php abgespeichert, welche ausgegeben werden sollen.
Ich habe jetzt nach Deinem Tipp den Code wie folgend geändert
Code
openside("Wir spielen gerade für Euch");
  echo '<html>
<head>
   <title>StreamPlus - Shotcast Server Information</title>
   <style type="text/css">
      body {
         font-family: Arial, Verdana;
      }
   </style>
</head>
<body>

<table>
   <tr>
      <td>Aktueller Titel:</td>
      <td><b><? include= ( echo "meine url/ssi.php"); ?></b></td>
   </tr>
</table>
</body>
</html>';
closeside();




Leider spuckt er mir noch immer den Titel nicht aus, es steht weiterhin nur Aktueller Titel: und dahinter ist alles schwarz bzw. leer.

Bin ich denn auf dem richtigen Wege oder befinde ich mich gerade auf dem Holzweg?
Jedenfalls habe ich das so verstanden, das der Code so geändert werden muss.
Wenn Du mir vielleicht noch nen Tipp geben würdest, bitte?
Ich möchte das ja gern lernen damit mir solch, ich denke mal für den Profi einfachen Dinge, mir auch gelingen.
Bin über jede Antwort dankbar.
Editiert von Jolandrus am 19. Mai 2010 23:49:16
 top
www.radio-dt61.de
MarcusG
#6 Drucke Post
Geschrieben am 20. Mai 2010 07:54:42
User Avatar




Posts: 2583
Registriert seit: 21.01.09

Meister
Nächstes Level: 2611/5000

Scores: gesperrt
Hast du den Google-Link zu include aufgerufen?

Du musst die Datei ganz oben einbinden, um dann auf die darin enthaltenen Variablen zugreifen zu können.
Gruß Marcus

phpfusion.marcusg.de/signaturen/marcusg_1.png
Support per Mail, PN, ICQ oder MSN ist kostenpflichtig!
if ($ahnung == 'keine' ) { use ( FAQ ) && ( Google | | Suche ) }
if ($antwort == 0 ) { post ( Frage ) }
 top
http://phpfusion.marcusg.de
Jolandrus
#7 Drucke Post
Geschrieben am 20. Mai 2010 09:55:55
User Avatar

Anfänger


Posts: 27
Registriert seit: 24.06.09

Lehrling
Nächstes Level: 27/50

Scores: gesperrt

Verwarnstatus: warningwarningwarningwarning
Guten Morgen Marcus und alle anderen natürlich auch,
erst einmal Danke für Deine Antwort.

MarcusG schrieb:
Hast du den Google-Link zu include aufgerufen?

Ja den habe ich gefunden und die Nacht über gelesen und immer wieder versucht, leider one Ergebniss.


Du musst die Datei ganz oben einbinden, um dann auf die darin enthaltenen Variablen zugreifen zu können.

Wenn ich das richtig verstehe muss ich die <? include= ( echo "meine url/ssi.php"); ?>an den Anfang des Scriptes setzte, richtig?

Ich habe nun folgendes gemacht, was mich jedoch leider auch nicht zu dem Ergebniss führt, welches ich haben möchte.
Code
openside("Wir spielen gerade für Euch");
  echo '<? include= ( echo "meine url/ssi.php"); ?><html>
<head>
   <title>StreamPlus - Shotcast Server Information</title>
   <style type="text/css">
      body {
         font-family: Arial, Verdana;
      }
   </style>
</head>
<body>

<table>
   <tr>
      <td>Aktueller Titel:</td>
        </tr>
</table>
</body>
</html>';
closeside();



Kann natürlich sein, dass ich jetzt totalen Bockmist gebaut habe, bitte ned lachen....obwohl warum nicht darüber lachen ? ;)
Ist das so richtig? Wenn ja dann weiss ich nicht warum ich keine Anzeige bekomme auf meiner Seite.
Muss ich denn die URL beim Include Befehl eingeben? Oder reicht es aus, wenn ich die ssi.php im include direkt angebe also include( 'ssi.php');, da die ssi.php im Hauptordner liegt, oder sollte ich die besser in einen eigenen Order legen? Muss ich im include Befehl mit echo arbeiten oder muss das echo raus?
Nach wie vor ist es so, das die ssi.php Ihren Dienst tut, da ich den Titel sehen kann, wenn ich über den Browser http://meine URL/ssi.php aufrufe.
Hätte nicht gedacht, das es so kompliziert sein kann...lach. Nun, ich sehe es als Aufgabe wo ich wieder was lernen darf und hoffe Ihr helft mir dabei.

Danke Dir und allen anderen für Eure Antworrten.
Editiert von Jolandrus am 20. Mai 2010 09:57:23
 top
www.radio-dt61.de
emblinux
#8 Drucke Post
Geschrieben am 20. Mai 2010 10:35:11
User Avatar




Posts: 2771
Registriert seit: 04.10.08

Meister
Nächstes Level: 2814/5000

Scores: gesperrt
Ich gehe mal davon aus, das die ssi.php im Hauptorder liegt, dann müsste der Code so aussehen:

Code
openside("Wir spielen gerade für Euch");
include BASEDIR."ssi.php";
?>
<html>
<head>
   <title>StreamPlus - Shotcast Server Information</title>
   <style type="text/css">
      body {
         font-family: Arial, Verdana;
      }
   </style>
</head>
<body>

<table>
   <tr>
      <td>Aktueller Titel:</td>
        </tr>
</table>
</body>
</html>';
<?php
closeside();




Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif
 top
http://www.fusion-ng.de
Jolandrus
#9 Drucke Post
Geschrieben am 20. Mai 2010 10:58:37
User Avatar

Anfänger


Posts: 27
Registriert seit: 24.06.09

Lehrling
Nächstes Level: 27/50

Scores: gesperrt

Verwarnstatus: warningwarningwarningwarning
emblinux schrieb:
Ich gehe mal davon aus, das die ssi.php im Hauptorder liegt, dann müsste der Code so aussehen:

Code
openside("Wir spielen gerade für Euch");
include BASEDIR."ssi.php";
?>
<html>
<head>
   <title>StreamPlus - Shotcast Server Information</title>
   <style type="text/css">
      body {
         font-family: Arial, Verdana;
      }
   </style>
</head>
<body>

<table>
   <tr>
      <td>Aktueller Titel:</td>
        </tr>
</table>
</body>
</html>';
<?php
closeside();




Ich danke Dir embilux, mit dem Code geht es jetzt. Auf den Befehl BASEDIR wär ich wohl nicht gekommen. Kann ich denn die ssi.php im Hauptordner liegen lassen oder ist es ratsam diese in einen anderen Odrner zu verschieben und dann evtl. htacess zu schützen? Wenn ich die ssi.php in einen anderen Ordner verschiebe der /sc_script heisst, muss ich ja nur den pfad mit Ordner dahin Z.B.: /sc_script/include BASEDIR."ssi.php"; angeben, richtig?

Danke für jede Antwort von Euch. Klasse das man hier schnell Hilfe bekommt.
Editiert von Jolandrus am 20. Mai 2010 11:01:37
 top
www.radio-dt61.de
emblinux
#10 Drucke Post
Geschrieben am 20. Mai 2010 11:03:01
User Avatar




Posts: 2771
Registriert seit: 04.10.08

Meister
Nächstes Level: 2814/5000

Scores: gesperrt
Du kannst sie ruhig im Hauptorder stehen lassen. Damit sie jedoch nicht einfach so aufgerufen werden kann, empfehle ich dir folgende Zeile an den Anfang der ssi.php einzufügen.

Code
if ( !defined("IN_FUSION") ) die("Acces denied");




Diesen Code fügst du einfach in eine neue Zeile hinter <?php ein. Damit wird bei einem direkten Aufruf die Ausführung dieser Datei verboten.


Wenn ich die ssi.php in einen anderen Ordner verschiebe der /sc_script heisst, muss ich ja nur den pfad mit Ordner dahin Z.B.: /sc_script/include BASEDIR."ssi.php"; angeben, richtig?


Den Ordner anpassen ja, jedoch nicht so, wie du es gemacht hast, sondern so:

Code
include BASEDIR."sc_script/ssi.php";



Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif
 top
http://www.fusion-ng.de
Jolandrus
#11 Drucke Post
Geschrieben am 20. Mai 2010 15:35:04
User Avatar

Anfänger


Posts: 27
Registriert seit: 24.06.09

Lehrling
Nächstes Level: 27/50

Scores: gesperrt

Verwarnstatus: warningwarningwarningwarning
Danke an MarcusG und emblinux

Ich habe es mit Eurer Hilfe hinbekommen. Wenn Ihr mir jetzt noch eine
Seite empfehlen könntet wo ich PHP von der Pike auf lernen kann, das
wär klasse. Denn ich möchte mich in Zukunft mehr und mehr mit PHP
auseinandersetzen. Habe gemerkt, das es gar nicht so schwer ist, wenn
man sich einlesen wird und hoffe das ich das ganze dann auch auf die Reihe
bringe. Auch habe ich den Eindruck, das man nit PHP ne Menge mehr und
vor allem einfacher machen kann wie mit HTML.

Nochmals DANKE an Euch, super das man hier im Forum Hilfe bekommen
kann, auch wenn man nicht der PHP - Profi ist wie Ihr.klatsch

@ emblinux
Du hast vollkommen recht mit Deiner Signatur:
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius
Man lernt nie aus Smile
Editiert von Jolandrus am 20. Mai 2010 15:37:00
 top
www.radio-dt61.de
emblinux
#12 Drucke Post
Geschrieben am 20. Mai 2010 16:24:48
User Avatar




Posts: 2771
Registriert seit: 04.10.08

Meister
Nächstes Level: 2814/5000

Scores: gesperrt
Danke.

Auf anhieb fällt mir da z.B. www.php.net ein. Ansonsten benutze einfach Google mit den richtigen Suchbegriffen wie php tutorials .... Da solltest du ne menge finden.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif
 top
http://www.fusion-ng.de
Jolandrus
#13 Drucke Post
Geschrieben am 20. Mai 2010 17:35:58
User Avatar

Anfänger


Posts: 27
Registriert seit: 24.06.09

Lehrling
Nächstes Level: 27/50

Scores: gesperrt

Verwarnstatus: warningwarningwarningwarning
Danke Dir für den Link, werd mich mal ans lesen machen Smile

Da es bei mir geklappt hat denke ich das Thema kann geclosed werden oder
solte es vielleicht für andere User noch offen bleiben?

Ich bitte die Modis hier aus dem Forum das zu entscheiden.

Nochmals Danke für die Hilfe.klatsch
 top
www.radio-dt61.de
Springe ins Forum: