Jak Předat Proměnnou

Obsah:

Jak Předat Proměnnou
Jak Předat Proměnnou

Video: Jak Předat Proměnnou

Video: Jak Předat Proměnnou
Video: výraz s proměnnou 2024, Smět
Anonim

Pro organizaci interaktivní komunikace mezi návštěvníkem a webem (nebo spíše prohlížečem s webovým serverem) musí programátor poskytnout scénáře pro výměnu dat mezi nimi. Uvažujme o několika jednoduchých možnostech organizace přenosu proměnných ze skriptu JavaScrip klienta na skript serveru PHP a naopak.

Předávání dat z PHP do JavaScriptu a naopak
Předávání dat z PHP do JavaScriptu a naopak

Je to nutné

Základní znalost jazyků PHP, JavaScript a HTML

Instrukce

Krok 1

Ve fázi vytváření stránky není obtížné přenést proměnnou spolu s její hodnotou ze skriptu php do skriptu JavaScript. Samotný skript PHP generuje kód HTML požadované stránky, včetně skriptů, které obsahuje. To znamená, že může do kódu JavaScript zapisovat libovolné proměnné, které by měly být předávány spolu s jejich hodnotami. Například tento skript php předá klientskému skriptu proměnnou s názvem „serverTime“obsahující aktuální čas serveru ve formátu HOUR: MINUTE:

<? php

$ JSvarName = 'serverTime';

$ JSvarValue = datum ('H: i');

$ JScode = $ JSvarName. '= "'. $ JSvarValue. '";';

print ''. $ JScode.'alert ("A na serveru nyní" + '. $ JSvarName.'); '

?>

Předání proměnné a její hodnoty z PHP do Javascript
Předání proměnné a její hodnoty z PHP do Javascript

Krok 2

Nejjednodušší způsob předávání názvů a hodnot proměnných v opačném směru (od skriptu JS v prohlížeči klienta k skriptu PHP na webovém serveru) může vypadat takto v kódu HTML stránky:

var now = nové datum ();

var varName = 'clientTime';

var varValue = now.getHours () + ":" + now.getMinutes ();

window.location.href = 'https://sa/test2.php?' + varName + '=' varValue;

Tento skript odešle do skriptu test2.php název proměnné „clientTime“a její hodnotu obsahující aktuální čas počítače ve stejném formátu HODINA: MINUTA. Tato metoda přenosu dat se nazývá „synchronní“- bude mít za následek okamžité opětovné načtení stránky. Přesněji, místo aktuální stránky se do prohlížeče načte výsledek skriptu test2.php. Kód tohoto php skriptu může vypadat takto:

<? php

if ($ _ GET) echo 'Received variable'.key ($ _ GET). '='. $ _ GET [key ($ _ GET)];

?>

Můžete kombinovat všechny tři uvažované části kódu pro předávání proměnných ze serveru do prohlížeče a zpět do jednoho php souboru, jako je tento:

<? php

if ($ _ GET) echo 'Received variable'.key ($ _ GET). '='. $ _ GET [key ($ _ GET)];

$ JSvarName = 'serverTime';

$ JSvarValue = datum ('H: i');

$ JScode = $ JSvarName. '= "'. $ JSvarValue. '";';

print ''. $ JScode.'alert ("A na serveru nyní" + '. $ JSvarName.'); '

?>

funkce sendData () {

var now = nové datum ();

var varName = 'clientTime';

var varValue = now.getHours () + ":" + now.getMinutes ();

window.location.href = "https://sa/test2.php?" + varName + "=" + varValue;

návrat false;

}

Odeslat data na server V tomto kombinovaném skriptu (PHP + JavaScript) vygeneruje php kód kód JavaScript „předáním“proměnné s názvem „serverTime“s hodnotou obsahující aktuální čas serveru. Když je stránka načtena do prohlížeče, skript JavaScript zobrazí zprávu s tímto časem. Poté uživatel klikne na odkaz „Odeslat data na server“spustí funkci sendData (), která odešle požadavek GET na server a předá název proměnné („clientTime“) a její hodnotu (čas klienta) php skript. Skript php poté, co přečetl název a hodnotu proměnné ze superglobálního pole $ _GET, jej vytiskne a znovu spustí celý popsaný skript.

Výměna proměnných a jejich hodnot mezi PHP a JavaScript
Výměna proměnných a jejich hodnot mezi PHP a JavaScript

Krok 3

Všechno popsané výše implementuje scénář „synchronního“přenosu dat. Implementace „asynchronní“metody výměny dat mezi klientskými a serverovými skripty má svůj vlastní název AJAX (asynchronní Javascript a XML). Toto téma si zaslouží samostatný článek.

Doporučuje: