Hogyan Adhatunk át Egy Változót

Tartalomjegyzék:

Hogyan Adhatunk át Egy Változót
Hogyan Adhatunk át Egy Változót

Videó: Hogyan Adhatunk át Egy Változót

Videó: Hogyan Adhatunk át Egy Változót
Videó: Éjszaka elmenekültünk a nyári táborból! Miért segítünk a gazdag iskolásokban? 2024, Lehet
Anonim

Az interaktív kommunikáció megszervezéséhez a látogató és egy weboldal (vagy inkább egy webszerverrel rendelkező böngésző) között a programozónak forgatókönyveket kell biztosítania a közöttük zajló adatcserére. Vizsgáljunk meg néhány egyszerű lehetőséget a változók átadásának megszervezésére az ügyfél JavaScrip parancsfájlból a szerver PHP szkriptjébe és fordítva.

Adatok továbbítása a PHP-ről a JavaScript-re és fordítva
Adatok továbbítása a PHP-ről a JavaScript-re és fordítva

Szükséges

Alapvető ismeretek a PHP, a JavaScript és a HTML nyelvekről

Utasítás

1. lépés

Az oldalképzés szakaszában nem nehéz egy változót annak értékével együtt átvinni egy php parancsfájlból egy JavaScript szkriptbe. A PHP szkript maga generálja a kért oldal HTML kódját, beleértve az abban található szkripteket is. Ez azt jelenti, hogy bármilyen változót beírhat a JavaScript-kódba, amelyet át kell adni az értékeikkel együtt. Például ez a php parancsfájl egy "serverTime" nevű változót ad át az ügyfélszkriptnek, amely az aktuális szerver időt HOUR: MINUTE formátumban tartalmazza:

<? php

$ JSvarName = 'serverTime';

$ JSvarValue = dátum ('H: i');

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

print ''. $ JScode.'alert ("És most a szerveren" + '. $ JSvarName.'); '

?>

Egy változó és annak értékének átadása a PHP-ről a Javascript-re
Egy változó és annak értékének átadása a PHP-ről a Javascript-re

2. lépés

A változók nevének és értékének ellentétes irányba történő továbbításának legegyszerűbb módja (az ügyfél böngészőjében lévő JS szkriptből a webszerver PHP szkriptjébe) így nézhet ki az oldal HTML kódjában:

var now = új dátum ();

var varName = 'clientTime';

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

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

Ez a szkript elküldi a test2.php parancsfájlnak a "clientTime" változó nevét és annak értékét, amely tartalmazza az aktuális számítógépes időt ugyanabban a formátumban HOUR: MINUTE. Ezt az adatátviteli módszert "szinkronnak" nevezik - ez az oldal azonnali újratöltését eredményezi. Pontosabban, az aktuális oldal helyett a test2.php parancsfájl eredménye kerül betöltésre a böngészőbe. Ennek a php szkriptnek a kódja így nézhet ki:

<? php

if ($ _ GET) echo 'Received változó'.key ($ _ GET). '='. $ _ GET [kulcs ($ _ GET)];

?>

Kombinálhatja a kód mindhárom figyelembe vett részét a változók átadásához a szerverről a böngészőbe és vissza egy ilyen php fájlba:

<? php

if ($ _ GET) echo 'Received változó'.key ($ _ GET). '='. $ _ GET [kulcs ($ _ GET)];

$ JSvarName = 'serverTime';

$ JSvarValue = dátum ('H: i');

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

print ''. $ JScode.'alert ("És most a szerveren" + '. $ JSvarName.'); '

?>

függvény sendData () {

var now = új dátum ();

var varName = 'clientTime';

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

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

return false;

}

Adatok küldése a szerverre Ebben a kombinált (PHP + JavaScript) szkriptben a php-kód a JavaScript-kódot úgy generálja, hogy a "serverTime" nevű változót "átadja" az aktuális szerver-időt tartalmazó értéknek. Amikor az oldal betöltődik a böngészőbe, a JavaScript szkript ezzel az idővel üzenetet jelenít meg. Ezután a felhasználó az "Adatok küldése a szerverre" linkre kattintva elindítja a sendData () függvényt, amely egy GET kérést küld a szervernek, a változó nevét ("clientTime") és annak értékét (kliens ideje) átadva a php-nek. forgatókönyv. Egy php szkript, miután elolvasta egy változó nevét és értékét a $ _GET superglobal tömbből, kinyomtatja és újraindítja a teljes leírt szkriptet.

Változók és értékeik cseréje a PHP és a JavaScript között
Változók és értékeik cseréje a PHP és a JavaScript között

3. lépés

A fentiekben leírtak minden megvalósítja a "szinkron" adatátvitel forgatókönyvét. A kliens és szerver szkriptek közötti adatcsere "aszinkron" módszerének megvalósításának saját neve AJAX (aszinkron Javascript és XML). Ez a téma külön cikket érdemel.

Ajánlott: