IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Mezi 13:00 až cca 16:00 proběhne odstávka sítě z důvodu aktualizace. Web bude po celou dobu nedostupný.
Avatar
Pokorný Martin:15.7.2017 22:32

Ahoj,

potřeboval bych poradit jak "nejčistěji" volat z PHP scriptu jinou webovou stranku (ne presmerovani).

Jedná se o to, že mám několik iot zařízení (relátek) a kontroluji u nich stav (zapnuto/vypnuto). Pokud zjistím, že má být v daný čas zapnuto/vypnuti, potřebuji zavolat webovou stránku daného relátka, které jej zapne/vypne. Takto procházím cca 10 zařízení a postupně jejich stavu potřebuji takto ošetřit..

nevím, jestli použít javascript, php nebo něco jiného

díky

 
Odpovědět
15.7.2017 22:32
Avatar
Martin Križan:15.7.2017 23:08

Skús pozrieť file_get_conten­ts().

 
Nahoru Odpovědět
15.7.2017 23:08
Avatar
Miskyns
Člen
Avatar
Miskyns:16.7.2017 13:39

Záleží. Na zařízení (relátku) jsou stránky v PHPčku, které dávají podnět k vypnutí/zapnutí. Jsou dva způsoby jak to udělat.

ZPŮSOBY

1. Na dané stránce relátka bude GET, to znamená, že když budeš chtít relátko vypnout můžeš to udělat přímo přes adresní řádek

http://strankarelatka/control.php?stav=vypnout

nebo pomocí JavaScriptu

function vypnout() {
        $.ajax({
                url: "http://strankarelatka/",
                method: "GET",
                data: "stav=vypnout",
                success: function() {
                        console.log("Relátko vypnuto");
                }
        });
}

PHP

//Kontrola zda $_GET má nějakou hodnotu
if(isset($_GET)) {

        //Může být i if, ale já jsem radši pro switch
        switch($_GET['stav'] {
                //GET hodnota vypnout
                case "vypnout":
                        //kód
                        ...
                        break;

                //GET hodnota zapnout
                case "zapnout":
                        //kód
                        ...
                        break;
        }
}

2. Na dané stránce bude POST, to znamená, že nepíšeš přímo do adresy.

function vypnout() {
        $.ajax({
                url: "http://strankarelatka/",
                method: "POST", //Posíláme přes POST
                data: "stav=vypnout",
                success: function() {
                        console.log("Relátko vypnuto");
                }
        });
}

PHP

//Kontrola zda $_GET má nějakou hodnotu
if(isset($_POST)) {

        //Může být i if, ale já jsem radši pro switch
        switch($_POST['stav'] {
                //POST hodnota vypnout
                case "vypnout":
                        //kód
                        ...
                        break;

                //POST hodnota zapnout
                case "zapnout":
                        //kód
                        ...
                        break;
        }
}

Pozn : Samozřejmě jde tento kód i zkrátit...

Je to jenom rychlý nástřel ;)

Nahoru Odpovědět
16.7.2017 13:39
Proč se to učit, když můžeš použít GOOGLE...
Avatar
Pokorný Martin:16.7.2017 14:57

diky za tipy

Na relatku je GET a volam jej z browseru takto: http://strankarele/cm?… (power0)

na strane rele, to osetrene mam.

jde mi o to, jak jej volat ze scriptu, ve kterém zjišťuji zda má být zapnuto/vypnuto..

 
Nahoru Odpovědět
16.7.2017 14:57
Avatar
Miskyns
Člen
Avatar
Odpovídá na Pokorný Martin
Miskyns:16.7.2017 20:34

Ukázku JavaScriptu jsem ti napsal ;) :)

Nahoru Odpovědět
16.7.2017 20:34
Proč se to učit, když můžeš použít GOOGLE...
Avatar
Pokorný Martin:16.7.2017 20:47

jeee jsem trubka ;) dík moc to je přesně ono :)

 
Nahoru Odpovědět
16.7.2017 20:47
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.