Autor Zpráva
oufi
Profil *
Ahoj,

stáhl jsem si hudební přehrávač PlayIt live a chtěl bych zkusit zobrazit to, co hraje na internetu. Bohužel je jejich podpora ale dost bídná a já úplně nevím, jak na to. Nastavil jsem subdoménu s vlastním FTP. Adresu a údaje jsem zadal do nastavení programu a myslím si, že by to tak mělo být správně (i podle svítícího 200 OK). .

Teď bych chtěl ale data zobrazit na internetu. Zkoušel jsem do index.php napsat tohle:

<?php
echo "hraje ". $_GET['artist']. "<br />"; 
      echo "song ". $_GET['title']; 
      
?> 
.

Jak jsem ale zjistil, tak to bude fungovat jen když napíšu parametry přímo do url (http://example.com/index.php?artist=zpevak&title=pisen). Mohl bych poprosit někoho, kdo by mi řekl, jestli mám tvar URL v programu správně a vysvětlit, co mám zadat do index.php, aby mi ukázal právě hranou skladbu? Nemám to pro komerční účely, jen si hraju..
Keeehi
Profil
No funguje to asi takhle: Když se změní hraná skladba, tak ten plugin pošle http požadavek na adresu ve formátu jaký jsi sem zadal. Tudíž ten script mu to v odpovědi pošle zpět. Když ty pak pošleš požadavek na ten index, tak ten předchozí požadavek už dávno skončil, takže nemůžeš ani čekat, že bys ta data dostal zpět ty. Ono teda pro pořádek, k těm datům by ses nedostal ani kdyby ten http požadavek pluginu právě zrovna běžel, protože jednotlivé požadavky jsou od sebe oddělené a vzájemně si na data nevidí.

Co tedy potřebuješ udělat je to, že když tu informaci plugin pošle, musíš si ji na serveru uložit. A když pak pošleš požadavek ty, jen načteš tu uloženou informaci a zobrazíš ji. Je samozřejmě možné obě funkcionality nacpat do jednoho php souboru ale pro jednoduchost to rozdělím na ukládací a zobrazovací část.

// file: store.php
<?php
file_put_contents("now_playing.txt","hraje ". $_GET['artist']." song ". $_GET['title']);

// file: index.php
<?php
echo htmlspecialchars(file_get_contents("now_playing.txt"), ENT_QUOTES);

V pluginu pak budeš mít url http://example.com/store.php?artist={{artist}}&title={{title}} a pro zobrazení stačí normálně http://example.com nebo http://example.com/index.php
oufi
Profil *
Aha, super, díky za objasnění, už mi to funguje :) Ještě se zeptám - dalo by se nějak využít toho, že systém sám posílá data a automaticky refreshnout stránku při každém poslání nové informace?
Keeehi
Profil
oufi:
Možné to samozřejmě je, ale moderní řešení není úplně triviální.
Možná by ti ale stačilo se ajaxem třeba co deset vteřin dokázat na nový obsah.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0