ilch Forum » Allgemein » HTML, PHP, SQL,... » Wer Hört Zu??

Geschlossen
  1. #1
    User Pic
    Zoddelchen Mitglied
    Registriert seit
    13.12.2007
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    Huhu ich hoffe das ist hier der Richtige Thread. Wenn nicht bitte ich es zu verschieben!!

    Also folgendes Problem.

    Ich hätte gerne eine kleine Infobox, wo man sieht, wer alles das radio Hört!

    Ich dachte von der funktionsweise in etwa so:


    Die anzuzeigende php-datei fragt die IP-Adresse des Users ab ( DB ic1_online -> ipa) und vergleicht diese mit der XML-Datei des Shoutcastservers. Wenn eine IP übereinstimmt, soll die Datei den User anzeigen (DB ic1_online -> uid).

    Kurz gesagt, es wird angezeigt das ich mit dem shoutcast verbunden bin!

    Gedanklich funktioniert es bei mir aber ich habe kein plan von PHP oder so drum hier mein Hilfegesuch.

    Bei weiteren Fragen bitte melden im

    Yahoo: engelinzivil86
    Icq: 256169620


    Natürlich brauch keiner was umsonst zu machen zwinker

    betroffene Homepage: externer Link
    Träume nicht dein Leben lang - lebe deinen Traum
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Zoddelchen Mitglied
    Registriert seit
    13.12.2007
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    So ihr lieben habe mich umgeschaut und habe nen script von bekki gefunden wo die xml daten bereitsgeparst werden und alles! problem nur der Vergleich der Datenbank mit dem "Hostname"

    Hier der Code!

    <?php
    
    echo "<html>" . "\n";
    echo "    <head>" . "\n";
    echo "        <title>" . "\n";
    echo "            Shoutcasthack No2 by bekki" . "\n";
    echo "        </title>" . "\n";
    echo "    </head>" . "\n";
    echo "    <body>" . "\n";
    
    // Serverdaten
    
        $scast_host = 'IP-Adresse des SShoutcastservers';
        $scast_name = 'Servername';
        $scast_port = 'Port des Servers';
        $scast_pass = 'Serverpasswort';
    
    
    
    // Viewmodis
    
    if ($_REQUEST['history']) {
        $show_sc_songhistory = 1;
    }
    else {
        $show_sc_songhistory = 0;
    }
    if ($_REQUEST['listener']) {
        $show_sc_listeners = 1;
    }
    else {
        $show_sc_listeners = 0;
    }
    
    // XML holen
        if($fp = @fsockopen($scast_host, $scast_port, $errno, $errstr, 30)) {
            if(fputs($fp, "GET /admin.cgi?pass=".$scast_pass."&mode=viewxml HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n")) {
                $xmldata = "";
                while(!feof($fp)) $xmldata .= fgets($fp, 1000);
                $xmldata = explode("\r\n", $xmldata);
                $xmldata = $xmldata[3];
            }
        }
    
    
    // Regex Funktionen
        function get_item($name, $source) {
            preg_match('#<'.$name.'>(.*?)</'.$name.'>#', $source, $matches);
            return $matches[1];
        }
        function get_items($name, $source) {
            preg_match_all('#<'.$name.'>(.*?)</'.$name.'>#', $source, $matches);
            return $matches[1];
        }
    
    
    // Werte aus XML auslesen
        $sc_stream_status = get_item("STREAMSTATUS", $xmldata);
        
        if($sc_stream_status) {
            $sc_stream_bitrate = get_item("BITRATE", $xmldata);
            $sc_listeners_cur  = get_item("CURRENTLISTENERS", $xmldata);
            $sc_listeners_peak = get_item("PEAKLISTENERS", $xmldata);
            $sc_listeners_max  = get_item("MAXLISTENERS", $xmldata);
            $sc_server_title   = get_item("SERVERTITLE", $xmldata);
            $sc_server_url     = get_item("SERVERURL", $xmldata);
            $sc_server_genre   = get_item("SERVERGENRE", $xmldata);
            $sc_server_version = get_item("VERSION", $xmldata);
            $sc_current_song   = get_item("SONGTITLE", $xmldata);
            $sc_irc            = get_item("IRC", $xmldata);
            $sc_icq            = get_item("ICQ", $xmldata);
            $sc_aim               = get_item("AIM", $xmldata);
        }
        if(!($sc_stream_bitrate)) {
            echo "        <h1>Sorry, aber Server ist offline!</h1>" . "\n";
        }
        else {
            echo "        <h3>Allgemeine Infos</h3>" . "\n";
            echo "        <table border=1>" . "\n";
            echo "            <tr>" . "\n";
            echo "                <td>Bitrate</td><td>$sc_stream_bitrate</td>" . "\n";
            echo "            </tr>" . "\n";
            echo "            <tr>" . "\n";
            echo "                <td>Aktuelle Zuhoerer</td><td>$sc_listeners_cur</td>" . "\n";
            echo "            </tr>" . "\n";
            echo "            <tr>" . "\n";
            echo "                <td>Peak Zuhoerer</td><td>$sc_listeners_peak</td>" . "\n";
            echo "            </tr>" . "\n";
            echo "            <tr>" . "\n";
            echo "                <td>Max Zuhoerer</td><td>$sc_listeners_max</td>" . "\n";
            echo "            </tr>" . "\n";
            echo "            <tr>" . "\n";
            echo "                <td>Servertitel</td><td>$sc_server_title</td>" . "\n";
            echo "            </tr>" . "\n";
            echo "            <tr>" . "\n";
            echo "                <td>ServerURL</td><td>$sc_server_url</td>" . "\n";
            echo "            </tr>" . "\n";
            echo "            <tr>" . "\n";
            echo "                <td>ServerGenre</td><td>$sc_server_genre</td>" . "\n";
            echo "            </tr>" . "\n";
            echo "            <tr>" . "\n";
            echo "                <td>Liedtitel</td><td>$sc_current_song</td>" . "\n";
            echo "            </tr>" . "\n";
            echo "            <tr>" . "\n";
            echo "                <td>IRC</td><td>$sc_irc</td>" . "\n";
            echo "            </tr>" . "\n";
            echo "            <tr>" . "\n";
            echo "                <td>ICQ</td><td>$sc_icq</td>" . "\n";
            echo "            </tr>" . "\n";
            echo "            <tr>" . "\n";
            echo "                <td>AIM</td><td>$sc_aim</td>" . "\n";
            echo "            </tr>" . "\n";
            echo "        </table>" . "\n";
            if ($show_sc_songhistory) {
                echo "\n" . "        <h3>Songhistory</h3>" . "\n";
                echo "        <table border=1>" . "\n";
                
                $scast_songs = get_items("SONG", $xmldata);
                $count = 0;
                for($i=0; $i<count($scast_songs); $i++) 
                {
                    
                    $sc_song_playtime        = strftime("%d.%m.%y %H:%M", get_item("PLAYEDAT", $scast_songs[$i]));
                    $sc_song_title            = get_item("TITLE", $scast_songs[$i]);
        
                    echo "                <tr><td>$sc_song_title</td></tr>" . "\n";
                }
                echo "        </table>" . "\n";
            } else {
                $sc_songhistory = "";
            }
                
        
            if ($show_sc_listeners) {
                echo "\n" . "        <h3>Zuh&ouml;rer</h3>" . "\n";
                echo "        <table border=1>" . "\n";
                echo "                <tr><th>No.</th><th>Hostname</th><th>Useragent</th><th>Connecttime</th></tr>" . "\n";
                
                $scast_listeners = get_items("LISTENER", $xmldata);
                $count = 0;
        
                for($i=0; $i<count($scast_listeners); $i++) 
                {
    
    
    
    
    
                    
                    $sc_no                      = $i+1;
                    $sc_hostname            = get_item("HOSTNAME", $scast_listeners[$i]);
                    $sc_useragent            = get_item("USERAGENT", $scast_listeners[$i]);
                    $sc_connecttime            = gmstrftime("%H:%M:%S", get_item("CONNECTTIME",$scast_listeners[$i]));
    
    
    
    
    
                    echo "                <tr><td>$sc_no</td><td>$sc_hostname</td><td>$sc_useragent</td><td>$sc_connecttime</td></tr>" . "\n";
                }
               echo "        </table>" . "\n";
            } 
           else {
              $sc_listeners = "";
            }
        }
    
    echo "    </body>" . "\n";
    echo "</html>" . "\n";
    
    ?>


    Weiß eventuell jemand rat


    Zuletzt modifiziert von Zoddelchen am 19.12.2007 - 22:17:59
    Träume nicht dein Leben lang - lebe deinen Traum
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Ithron Hall Of Fame
    Registriert seit
    21.01.2006
    Beiträge
    2.659
    Beitragswertungen
    24 Beitragspunkte
    Man sieht es doch schon am syntax hightlight..

    Falsch! ->
        $scast_host = 'IP-Adresse des SShoutcastservers';
        $scast_name = 'Servername;
        $scast_port = 'Port des Servers';
        $scast_pass = 'Serverpasswort';


    zu

    Richtig! ->
        $scast_host = 'IP-Adresse des SShoutcastservers';
        $scast_name = 'Servername';
        $scast_port = 'Port des Servers';
        $scast_pass = 'Serverpasswort';
    ZitatZitat geschrieben von loW

    Ja ich habs gesehen und wenn ichs kostenlos bekomm dann zahl ich doch nix dafür oder?
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Zoddelchen Mitglied
    Registriert seit
    13.12.2007
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    ähh wo iss da ein unterschied????


    und was hat das mit der Grundidee zu tun, die User, die sich mit dem Shoutcastserver connectet haben als tabelle oder ähnliches anzuzeigen!! d.h Die anzuzeigende php-datei fragt die IP-Adresse des Users ab ( Datenbanktabelle ic1_online, Spalte ipa) und vergleicht diese mit der XML-Datei des Shoutcastservers. Wenn eine IP übereinstimmt, soll die Datei den User anzeigen (Datenbanktabelle ic1_online Spalte uid) und fragt durch die UserID den Namen ab.
    Träume nicht dein Leben lang - lebe deinen Traum
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Ithron Hall Of Fame
    Registriert seit
    21.01.2006
    Beiträge
    2.659
    Beitragswertungen
    24 Beitragspunkte
    Du hast ganz einfach ein ' vergessen ($scast_name)
    ZitatZitat geschrieben von loW

    Ja ich habs gesehen und wenn ichs kostenlos bekomm dann zahl ich doch nix dafür oder?
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Zoddelchen Mitglied
    Registriert seit
    13.12.2007
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    und den rest kannst mir nicht beantworten? bin so ziemlich am ende mit mein latein weil kann nit wirklich php grade mal ansatzweise!!
    Träume nicht dein Leben lang - lebe deinen Traum
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten