Kako Prenesti Spremenljivko

Kazalo:

Kako Prenesti Spremenljivko
Kako Prenesti Spremenljivko

Video: Kako Prenesti Spremenljivko

Video: Kako Prenesti Spremenljivko
Video: Еврокубки. Обзор матчей от 04.11.2021 2024, Maj
Anonim

Za organiziranje interaktivne komunikacije med obiskovalcem in spletnim mestom (ali bolje rečeno brskalnikom s spletnim strežnikom) mora programer zagotoviti scenarije za izmenjavo podatkov med njimi. Upoštevajmo več preprostih možnosti za organizacijo prenosa spremenljivk iz odjemalskega skripta JavaScrip v strežniški PHP skript in obratno.

Prenos podatkov iz PHP v JavaScript in obratno
Prenos podatkov iz PHP v JavaScript in obratno

Potrebno je

Osnovno znanje jezikov PHP, JavaScript in HTML

Navodila

Korak 1

Na stopnji oblikovanja strani ni težko spremenljivke skupaj z njeno vrednostjo prenesti iz skripta php v skript JavaScript. Skript PHP sam ustvari kodo HTML zahtevane strani, vključno s skripti, ki jih vsebuje. To pomeni, da lahko v kodo JavaScript zapiše vse spremenljivke, ki jih je treba predati skupaj z njihovimi vrednostmi. Na primer, ta skript php bo odjemalskemu skriptu poslal spremenljivko z imenom "serverTime", ki vsebuje trenutni čas strežnika v obliki HOUR: MINUTE:

<? php

$ JSvarName = 'serverTime';

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

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

print ''. $ JScode.'alert ("In na strežniku zdaj" + '. $ JSvarName.'); '

?>

Prenos spremenljivke in njene vrednosti iz PHP v Javascript
Prenos spremenljivke in njene vrednosti iz PHP v Javascript

2. korak

Najenostavnejši način posredovanja imen in vrednosti spremenljivk v nasprotni smeri (od skripta JS v odjemalčevem brskalniku do skripta PHP na spletnem strežniku) je lahko videti tako v kodi HTML strani:

var zdaj = nov datum ();

var varName = 'clientTime';

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

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

Ta skript bo skriptu test2.php poslal ime spremenljivke "clientTime" in njeno vrednost, ki vsebuje trenutni računalniški čas v isti obliki HOUR: MINUTE. Ta način prenosa podatkov se imenuje "sinhroni" - povzročil bo takojšnje ponovno nalaganje strani. Natančneje, namesto trenutne strani se bo v brskalnik naložil rezultat skripta test2.php. Koda za ta skript php je lahko videti takole:

<? php

if ($ _ GET) echo 'Prejeta spremenljivka'.key ($ _ GET). '='. $ _ GET [ključ ($ _ GET)];

?>

Vse tri obravnavane dele kode lahko združite za posredovanje spremenljivk s strežnika v brskalnik in nazaj v eno datoteko php, kot je ta:

<? php

if ($ _ GET) echo 'Sprejeta spremenljivka'.key ($ _ GET). '='. $ _ GET [ključ ($ _ GET)];

$ JSvarName = 'serverTime';

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

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

print ''. $ JScode.'alert ("In na strežniku zdaj" + '. $ JSvarName.'); '

?>

funkcija sendData () {

var zdaj = nov datum ();

var varName = 'clientTime';

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

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

vrni false;

}

Pošiljanje podatkov strežniku V tem kombiniranem skriptu (PHP + JavaScript) bo php koda ustvarila kodo JavaScript tako, da bo "posredovala" spremenljivko z imenom "serverTime" z vrednostjo, ki vsebuje trenutni čas strežnika. Ko se stran naloži v brskalnik, bo skript JavaScript prikazal sporočilo s tem časom. Nato uporabnik s klikom na povezavo »Pošlji podatke strežniku« zažene funkcijo sendData (), ki bo strežniku poslala zahtevo GET in posredovala ime spremenljivke (»clientTime«) in njeno vrednost (čas odjemalca) v php scenarij. Skript php, ki je prebral ime in vrednost spremenljivke iz superglobalne matrike $ _GET, jo bo natisnil in znova zagnal celoten opisani skript.

Izmenjava spremenljivk in njihovih vrednosti med PHP in JavaScript
Izmenjava spremenljivk in njihovih vrednosti med PHP in JavaScript

3. korak

Vse zgoraj opisano izvaja scenarij "sinhronega" prenosa podatkov. Izvedba "asinhrone" metode izmenjave podatkov med odjemalskim in strežniškim skriptom ima svoje ime AJAX (Asinhroni Javascript in XML). Ta tema si zasluži ločen članek.

Priporočena: