Kako Proslijediti Varijablu

Sadržaj:

Kako Proslijediti Varijablu
Kako Proslijediti Varijablu

Video: Kako Proslijediti Varijablu

Video: Kako Proslijediti Varijablu
Video: Informatika 4. r. SŠ - Objekti kao parametri metoda 2024, April
Anonim

Da bi organizirao interaktivnu komunikaciju između posjetitelja i web stranice (ili bolje rečeno, preglednika s web serverom), programer mora osigurati scenarije za razmjenu podataka između njih. Razmotrimo nekoliko jednostavnih opcija za organizaciju prijenosa varijabli s klijentske JavaScrip skripte na server PHP skriptu i obrnuto.

Prosljeđivanje podataka iz PHP-a u JavaScript i obrnuto
Prosljeđivanje podataka iz PHP-a u JavaScript i obrnuto

Neophodno je

Osnovno znanje PHP, JavaScript i HTML jezika

Instrukcije

Korak 1

U fazi formiranja stranice nije teško prenijeti varijablu zajedno sa njenom vrijednošću iz php skripte u JavaScript skriptu. PHP skripta sama generira HTML kôd tražene stranice, uključujući skripte koje sadrži. To znači da u JavaScript kôd može upisati bilo koje varijable koje treba proslijediti zajedno s njihovim vrijednostima. Na primjer, ova php skripta proslijedit će klijentskoj skripti varijablu pod nazivom "serverTime" koja sadrži trenutno vrijeme poslužitelja u formatu HOUR: MINUTE:

<? php

$ JSvarName = 'vrijeme poslužitelja';

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

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

ispis ''. $ JScode.'alert ("I na serveru sada" + '. $ JSvarName.'); '

?>

Prosljeđivanje varijable i njene vrijednosti iz PHP-a u Javascript
Prosljeđivanje varijable i njene vrijednosti iz PHP-a u Javascript

Korak 2

Najjednostavniji način prosljeđivanja imena i vrijednosti varijabli u suprotnom smjeru (od JS skripte u klijentovom pretraživaču do PHP skripte na web serveru) može izgledati ovako u HTML kodu stranice:

var sada = novi datum ();

var varName = 'clientTime';

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

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

Ova će skripta poslati skripti test2.php ime varijable "clientTime" i njenu vrijednost koja sadrži trenutno računarsko vrijeme u istom formatu HOUR: MINUTE. Ovaj način prijenosa podataka naziva se "sinkroni" - rezultirat će trenutnim ponovnim učitavanjem stranice. Tačnije, umjesto trenutne stranice, rezultat skripte test2.php će se učitati u pretraživač. Kôd za ovu php skriptu može izgledati ovako:

<? php

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

?>

Možete kombinirati sva tri razmatrana dijela koda za prosljeđivanje varijabli sa servera u preglednik i natrag u jednu php datoteku poput ove:

<? php

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

$ JSvarName = 'vrijeme poslužitelja';

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

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

ispis ''. $ JScode.'alert ("I na serveru sada" + '. $ JSvarName.'); '

?>

funkcija sendData () {

var sada = novi datum ();

var varName = 'clientTime';

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

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

return false;

}

Slanje podataka na server U ovoj kombiniranoj (PHP + JavaScript) skripti, php kôd će generirati JavaScript kôd tako što će "proslijediti" varijablu pod nazivom "serverTime" sa vrijednošću koja sadrži trenutno vrijeme poslužitelja. Kada se stranica učita u preglednik, JavaScript skripta će prikazati poruku s ovim vremenom. Tada korisnik klikne na vezu "Pošalji podatke poslužitelju", pokrenut će funkciju sendData (), koja će poslati GET zahtjev poslužitelju, prosljeđujući naziv varijable ("clientTime") i njezinu vrijednost (vrijeme klijenta) php-u skripta. PHP skripta, nakon što je pročitala ime i vrijednost varijable iz superglobalnog niza $ _GET, ispisat će je i ponovo pokrenuti cijelu opisanu skriptu.

Razmjena varijabli i njihovih vrijednosti između PHP-a i JavaScript-a
Razmjena varijabli i njihovih vrijednosti između PHP-a i JavaScript-a

Korak 3

Sve gore opisano implementira scenarij "sinkronog" prijenosa podataka. Implementacija "asinhrone" metode razmjene podataka između klijentskih i poslužiteljskih skripti ima svoje ime AJAX (Asinkroni Javascript i XML). Ova tema zaslužuje poseban članak.

Preporučuje se: