Kuinka Välittää Muuttuja

Sisällysluettelo:

Kuinka Välittää Muuttuja
Kuinka Välittää Muuttuja

Video: Kuinka Välittää Muuttuja

Video: Kuinka Välittää Muuttuja
Video: Uusien muuttujien tekeminen SPSS-ohjelmassa 2024, Saattaa
Anonim

Järjestääkseen vuorovaikutteisen viestinnän kävijän ja verkkosivuston (tai pikemminkin selaimen, jolla on verkkopalvelin) välillä, ohjelmoijan on tarjottava skenaarioita tietojen vaihdolle heidän välillä. Harkitaan useita yksinkertaisia vaihtoehtoja muuttujien siirron järjestämiseksi asiakkaan JavaScrip-komentotiedostosta palvelimen PHP-komentosarjaan ja päinvastoin.

Tietojen siirtäminen PHP: stä JavaScriptiin ja päinvastoin
Tietojen siirtäminen PHP: stä JavaScriptiin ja päinvastoin

Se on välttämätöntä

Perustiedot PHP-, JavaScript- ja HTML-kielistä

Ohjeet

Vaihe 1

Sivunmuodostusvaiheessa ei ole vaikeaa siirtää muuttujaa ja sen arvoa php-skriptistä JavaScript-skriptiin. PHP-komentosarja itse luo pyydetyn sivun HTML-koodin, mukaan lukien sen sisältämät skriptit. Tämä tarkoittaa, että hän voi kirjoittaa kaikki muuttujat JavaScript-koodiin, jotka tulisi välittää niiden arvojen kanssa. Esimerkiksi tämä php-komentosarja välittää asiakasohjelmalle muuttujan nimeltä "serverTime", joka sisältää nykyisen palvelimen ajan muodossa HOUR: MINUTE:

<? php

$ JSvarName = 'palvelimen aika';

$ JSvarValue = päivämäärä ('H: i');

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

tulosta ''. $ JScode.'alert ("Ja palvelimella nyt" + '. $ JSvarName.'); '

?>

Muuttujan ja sen arvon välittäminen PHP: stä Javascriptiin
Muuttujan ja sen arvon välittäminen PHP: stä Javascriptiin

Vaihe 2

Yksinkertaisin tapa siirtää muuttujien nimet ja arvot vastakkaiseen suuntaan (asiakkaan selaimen JS-skriptistä web-palvelimen PHP-skriptiin) voi näyttää tältä sivun HTML-koodissa:

var now = uusi päivämäärä ();

var varName = 'clientTime';

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

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

Tämä komentosarja lähettää komentotiedostolle test2.php muuttujan "clientTime" nimen ja sen arvon, joka sisältää nykyisen tietokoneen ajan samassa muodossa HOUR: MINUTE. Tätä tiedonsiirtomenetelmää kutsutaan "synkroniseksi" - se johtaa sivun välittömään lataamiseen. Tarkemmin sanottuna nykyisen sivun sijaan test2.php-komentosarjan tulos ladataan selaimeen. Tämän php-komentosarjan koodi saattaa näyttää tältä:

<? php

if ($ _ GET) echo 'Vastaanotettu muuttuja'.avain ($ _ GET). '='. $ _ GET [avain ($ _ GET)];

?>

Voit yhdistää koodin kaikki kolme osaa muuttujien siirtämiseksi palvelimelta selaimeen ja takaisin yhdeksi php-tiedostoksi tällä tavalla:

<? php

if ($ _ GET) echo 'Vastaanotettu muuttuja'.avain ($ _ GET). '='. $ _ GET [avain ($ _ GET)];

$ JSvarName = 'palvelimen aika';

$ JSvarValue = päivämäärä ('H: i');

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

tulosta ''. $ JScode.'alert ("Ja palvelimella nyt" + '. $ JSvarName.'); '

?>

function sendData () {

var now = uusi päivämäärä ();

var varName = 'clientTime';

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

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

return false;

}

Lähetä tietoja palvelimelle Tässä yhdistetyssä (PHP + JavaScript) komentosarjassa php-koodi luo JavaScript-koodin "välittämällä" muuttujan nimeltä "serverTime" arvolla, joka sisältää nykyisen palvelimen ajan. Kun sivu ladataan selaimeen, JavaScript-komentosarja näyttää viestin tällä kertaa. Sitten käyttäjä napsauttaa Lähetä tiedot palvelimelle -linkkiä käynnistää sendData () -toiminnon, joka lähettää GET-pyynnön palvelimelle ja välittää muuttujan nimen ("clientTime") ja sen arvon (client time) php: lle käsikirjoitus. PHP-komentosarja, joka on lukenut muuttujan nimen ja arvon $ _GET superglobal-taulukosta, tulostaa sen ja aloittaa koko kuvatun komentosarjan uudelleen.

Muuttujien ja niiden arvojen vaihto PHP: n ja JavaScriptin välillä
Muuttujien ja niiden arvojen vaihto PHP: n ja JavaScriptin välillä

Vaihe 3

Kaikki edellä kuvattu toteuttaa "synkronisen" tiedonsiirron skenaarion. "Asynkronisen" menetelmän toteuttamisella tiedonvaihtoon asiakas- ja palvelinkomentosarjojen välillä on oma nimi AJAX (Asynkroninen Javascript ja XML). Tämä aihe ansaitsee erillisen artikkelin.

Suositeltava: