+ Antworten
Ergebnis 1 bis 1 von 1
  1. #1
    Registriert seit
    Mar 2012
    Ort
    Machern/Sachsen
    Beiträge
    339

    Standard Mit Auswahl eines Button in HTML Box Variable ändern

    Hallo Gemeinde,

    momentan sehe ich den Wald vor lauter Bäumen nicht. Auch die SuFu brachte mir nach Tagen keine Idee.

    Ich lese meinen Server (Twonky) per UPNP aus und erhalte auch ein Array mit allen relevanten Daten:

    http://www.ip-symcon.de/forum/thread...quest-auslesen

    Jetzt habe ich das im Ansatz so gelöst, dass ich mir eine HTML-Seite in eine HTML-Box schreibe. Die Buttons werden auch korrekt dargestellt und eine Funktion zum Versenden ist enthalten:

    function sndReq(url)
    {
    var action;
    action = new XMLHttpRequest;
    action.open('get', url);
    action.send(null);
    <!-- alert(url); -->
    }

    und dann Button --> onclick = sndReq('18364.ips.php?ObjectID=" . $id . "');

    Die Site wird auch korrekt dagestellt:

    HTML-Code:
    <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
     <html xmlns='http://www.w3.org/1999/xhtml'>
      <head>
       <!--Variablenuebergabe per XMLHttpRequest / Auslesen per GET in php-->
       <script type="text/JavaScript">
    
    	function sndReq(url)
        {
        var action;
        action = new XMLHttpRequest;
        action.open('get', url);
        action.send(null);
        <!-- alert(url); -->
        }
       </script>
    
    	<style type="text/css">
    	h1 { color:#0000FF; font-family:Arial,sans-serif; }
    	b,i  { color:#0000FF; font-family:Arial,sans-serif; }
    	</style>
    
    	</head>
    
    	<body bgcolor="#000000" text="#0000FF">
    
    
      <input type="button"
    	name="Chris Rea - Auberge"
    	value="Auberge"
    	id="0$1$13$77$78$1639$1640R69645"
    	style="width:200px; height:50px; background-image:url(user/Button.png); background-color:#000000; color:blue; border: 2px blue;"
    	alt="Auberge"
    	onclick="alert('Überraschung!'); sndReq('18364.ips.php?ObjectID=" . $id . "');  sndReq('29600.ips.php?Titellist=" .$i. "');\">
      </input>
    
    usw.
    
     </body>
    </html>
    (alert('Überraschung!') war nur zur Kontrolle, ob onclick reagiert )

    das Script zur Erstellung des HTML:

    PHP-Code:
    <?

    //------------------------------------------------------------------------------
    //Browse035 Buttons erstellen---------------------------------------------------
    //------------------------------------------------------------------------------

    //SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);

    //Vorhandensein prüfen----------------------------------------------------------

    if(isset($_GET["ObjectID"])){
            
    $ObjectID $_GET["ObjectID"];
        }else{
            
    $ObjectID "0";
        }

    //$ObjectID = $_GET["ObjectID"];

    //functions einbinden-----------------------------------------------------------

    include ("UPNP_Functions_V1.8.ips.php");
    include (
    "15256.ips.php"); //Browse024 - function
    //include ("29600.ips.php"); //Browse035_SetValue --> Variablen schreiben

    //IPAdresse und Port des Servers------------------------------------------------

    $addressServ "192.168.178.22"//Twonky/VAIO
    $portServ "9000";

    //IPAdresse und Port des primären Device (Host)---------------------------------

    $address "192.168.178.151";
    $port "8080";

    //max_execution_time auf 10 Minuten erhöhen-------------------------------------

    ini_set('max_execution_time'600);

    //Suchvariablen-----------------------------------------------------------------

    $BrowseFlag "BrowseDirectChildren"//GetValue();
    $Filter "*"//GetValue();
    $StartingIndex "0"//GetValue();
    $RequestedCount "0"//GetValue();
    $SortCriteria "0"//GetValue();

    $Result ContentDirectory_Browse ($addressServ$portServ$ObjectID$BrowseFlag$Filter$StartingIndex$RequestedCount$SortCriteria); // ContentDirectory_Browse aufrufen ? $Result / Message in Datei

    $liste BrowseList($Result); //Daten aus $Result in Array ($liste) übertragen
    print_r ($liste);

    echo 
    "\r\n\r\n";
    $size count ($liste); //Zahl der Einträge im Array = NumberReturned
    echo ($size);

    //------------------------------------------------------------------------------
    //Buttons erstellen-------------------------------------------------------------
    //------------------------------------------------------------------------------

    //Head und Buttons erstellen und in HTML-Box schreiben--------------------------

    $head="<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
     <html xmlns='http://www.w3.org/1999/xhtml'>
      <head>
       <!--Variablenuebergabe per XMLHttpRequest / Auslesen per GET in php-->
       <script type=\"text/JavaScript\">

        function sndReq(url)
        {
        var action;
        action = new XMLHttpRequest;
        action.open('get', url);
        action.send(null);
        <!-- alert(url); -->
        }
       </script>

        <style type=\"text/css\">
        h1 { color:#0000FF; font-family:Arial,sans-serif; }
        b,i  { color:#0000FF; font-family:Arial,sans-serif; }
        </style>

        </head>

        <body bgcolor=\"#000000\" text=\"#0000FF\">
    "
    ;

    $buttons ="";

    for(
    $i=0,$size=count($liste);$i<$size;$i++)
    {
    $title = ($liste[$i]["title"]);
    $id = ($liste[$i]['id']);
    $artist = ($liste[$i]['artist']);

    $buttons .=("

      <input type=\"button\"
        name=\"" 
    .$artist" - " .$title"\"
        value=\"" 
    .$title"\"
        id=\"" 
    $id "\"
        style=\"width:200px; height:50px; background-image:url(user/Button.png); background-color:#000000; color:blue; border: 2px blue;\"
        alt=\""
    .$title."\"
        onclick=\"alert('Überraschung!'); sndReq('18364.ips.php?ObjectID=" 
    $id "');  sndReq('29600.ips.php?Titellist=" .$i"');\">
      </input>

    "
    );

    }

    echo 
    $buttons;

    //zusammensetzen und in HTML-Box schreiben-------------------------------------

    $auswahl "$head""$buttons""
     </body>
    </html>
    "
    ;

    SetValueString(11348 /*[Audio\Browse\Auswahl]*/$auswahl);

    //partielle Website in D:/IP-Symcon/webfront/user/Browse/Browse.html erstellen--

            
    $handle fopen("D:/IP-Symcon/webfront/user/Browse/Browse.html""w");     //Browse schreiben
            
    fwrite($handle$auswahl);
            
    fclose($handle);

    ?>
    Und das Script zum Schreiben in die Variablen:

    PHP-Code:
    <?

    //------------------------------------------------------------------------------
    //Browse035 - SetValue----------------------------------------------------------
    //Array $liste auslesen und Variablen setzen------------------------------------
    //------------------------------------------------------------------------------

    if(isset($_GET["Titellist"])){
            
    $TitelList $_GET["Titellist"];
        }else{
            
    $TitelList "0";
        }
        
    //functions einbinden-----------------------------------------------------------

    include ("UPNP_Functions_V1.8.ips.php");
    include (
    "15256.ips.php"); //Browse024 - function

    //IPAdresse und Port des Servers------------------------------------------------

    $addressServ "192.168.178.22"//Twonky/VAIO
    $portServ "9000";

    //IPAdresse und Port des primären Device (Host)---------------------------------

    $address "192.168.178.151";
    $port "8080";

    //max_execution_time auf 10 Minuten erhöhen-------------------------------------

    ini_set('max_execution_time'600);

    //Suchvariablen-----------------------------------------------------------------

    $ObjectID GetValue(38469 /*[Audio\Browse\DIDL-lite\ID [id]]*/); //Letzter Wert
    $BrowseFlag "BrowseDirectChildren"//GetValue();
    $Filter "*"//GetValue();
    $StartingIndex "0"//GetValue();
    $RequestedCount "0"//GetValue();
    $SortCriteria "0"//GetValue();

    $Result ContentDirectory_Browse ($addressServ$portServ$ObjectID$BrowseFlag$Filter$StartingIndex$RequestedCount$SortCriteria); // ContentDirectory_Browse aufrufen ? $Result / Message in Datei

    $liste BrowseList($Result); //Daten aus $Result in Array ($liste) übertragen
    print_r ($liste);

    echo 
    "\r\n\r\n";
    $size count ($liste); //Zahl der Einträge im Array = NumberReturned
    echo ($size);



    $typ $liste[$TitelList]['typ']; // gibt typ des X. Array aus
    setvalue(11601 /*[Audio\Browse\DIDL-lite\Container/Item [typ]]*/, (string)$typ);

    $id $liste[$TitelList]['id']; // gibt id des X. Array aus
    setvalue(38469 /*[Audio\Browse\DIDL-lite\ID [id]]*/, (string)$id);

    $refid $liste[$TitelList]['refid']; // gibt refid des X. Array aus
    setvalue(43495 /*[Audio\Browse\DIDL-lite\RefID [refID]]*/, (string)$refid);

    $parentid $liste[$TitelList]['parentid']; // gibt parentid des X. Array aus
    setvalue(41353 /*[Audio\Browse\DIDL-lite\ParentID [parentID]]*/, (string)$parentid);

    $restricted $liste[$TitelList]['restricted']; // gibt restricted des X. Array aus
    setvalue(27617 /*[Audio\Browse\DIDL-lite\Restricted [restricted]]*/, (string)$restricted);

    $artist $liste[$TitelList]['artist']; // gibt artist des X. Array aus
    setvalue(42599 /*[Audio\Browse\DIDL-lite\Artist [dc:creator]]*/, (string)$artist);

    $album $liste[$TitelList]['album']; // gibt album des X. Array aus
    setvalue(48998 /*[Audio\Browse\DIDL-lite\Album [upnp:album]]*/, (string)$album);

    $title $liste[$TitelList]['title']; // gibt title des X. Array aus
    setvalue(31924 /*[Audio\Browse\DIDL-lite\Titel [dc:title]]*/, (string)$title);

    $res $liste[$TitelList]['resource']; // gibt resource des X. Array aus
    setvalue(46947 /*[Audio\Browse\DIDL-lite\URI [resource]]*/, (string)$res);

    $duration $liste[$TitelList]['duration']; // gibt duration des X. Array aus
    setvalue(56480 /*[Audio\Browse\DIDL-lite\Duration [duration]]*/, (string)$duration);

    $size $liste[$TitelList]['size']; // gibt size des X. Array aus
    setvalue(58375 /*[Audio\Browse\DIDL-lite\Size [size]]*/, (string)$size);

    $bitrate $liste[$TitelList]['bitrate']; // gibt bitrate des X. Array aus
    setvalue(27089 /*[Audio\Browse\DIDL-lite\Bitrate [bitrate]]*/, (string)$bitrate);

    $albumart $liste[$TitelList]['albumArtURI']; // gibt albumArtURI des X. Array aus
    SetValue(27682 /*[Audio\Browse\DIDL-lite\AlbumArtURI [upnp:albumArtURI]]*/, (string)$albumart);

        
    //AlbumArt abholen und speichern------------------------------------------
        
    $imageContent = @Sys_GetURLContent($albumart);
        
    $fileHandle fopen(IPS_GetKernelDir()."media/AlbumArt.jpg""w");
        @
    fwrite($fileHandle$imageContent);
        
    fclose($fileHandle);

    $genre $liste[$TitelList]['genre']; // gibt genre des X. Array aus
    setvalue(48901 /*[Audio\Browse\DIDL-lite\Genre [upnp:genre]]*/, (string)$genre);

    $date $liste[$TitelList]['date']; // gibt date des X. Array aus
    setvalue(35740 /*[Audio\Browse\DIDL-lite\Date [dc:date]]*/, (string)$date);

    $originalTrackNumber $liste[$TitelList]['originalTrackNumber']; // gibt originalTrackNumber des X. Array aus
    setvalue(32295 /*[Audio\Browse\DIDL-lite\TrackNumber [upnp:originalTrackNumber]]*/, (string)$originalTrackNumber);

    $class $liste[$TitelList]['class']; // gibt class des X. Array aus
    setvalue(52846 /*[Audio\Browse\DIDL-lite\Class [upnp:class]]*/, (string)$class);

    $extension $liste[$TitelList]['extension']; // gibt extension des X. Array aus
    setvalue(12802 /*[Audio\Browse\DIDL-lite\Extension [pv:extension]]*/, (string)$extension);

    ?>
    Das Ganze sollte wie unten aussehen.

    Leider komme ich über eine Ansicht nicht hinaus d.h. es erfolgt kein erneuter Browse-Aufruf, geschweige denn ein aktuelles Schreiben der Variablen.

    Hat jemand einen Rat ?


    Viele Grüsse

    André
    Angehängte Grafiken Angehängte Grafiken  
    Geändert von DigiHouse (20.05.13 um 00:44 Uhr)

Ähnliche Themen

  1. Fernbedienung über iFront (HTML Box) mit Bild von Fernbedienung
    Von tommy86 im Forum Mobile (iOS/Android)
    Antworten: 1
    Letzter Beitrag: 05.07.12, 17:04
  2. String Variable (HTML BOX) - Link zuweisen
    Von Franky76 im Forum Skripte, PHP, SQL
    Antworten: 2
    Letzter Beitrag: 09.06.11, 16:19
  3. HTML Box
    Von uwe im Forum Mobile (iOS/Android)
    Antworten: 0
    Letzter Beitrag: 10.01.11, 16:47
  4. Button für Variablen-Auswahl fehlt
    Von BerndS im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 0
    Letzter Beitrag: 16.03.09, 10:30
  5. nur zustand von variable und bild von button soll sich ändern
    Von geri im Forum Allgemeine Diskussion
    Antworten: 15
    Letzter Beitrag: 13.09.07, 17:02