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, Travanj
Anonim

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

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

Nužno je

Osnovno znanje PHP, JavaScript i HTML jezika

Upute

Korak 1

U fazi formiranja stranice nije teško prenijeti varijablu zajedno s njezinom vrijednošću iz php skripte u JavaScript skriptu. Skripta PHP 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 bi trebale biti proslijeđene zajedno s njihovim vrijednostima. Na primjer, ova php skripta proslijedit će klijentskoj skripti varijablu nazvanu "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 poslužitelju 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 pregledniku do PHP skripte na web poslužitelju) 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čunalsko vrijeme u istom formatu HOUR: MINUTE. Ovaj način prijenosa podataka naziva se "sinkroni" - rezultirat će trenutnim ponovnim učitavanjem stranice. Točnije, umjesto trenutne stranice, rezultat skripte test2.php bit će učitan u preglednik. Kôd za ovu php skriptu mogao bi 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 s poslužitelja 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 poslužitelju 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 poslužitelj U ovoj kombiniranoj (PHP + JavaScript) skripti, php kôd generirat će JavaScript kôd tako što će "proslijediti" varijablu pod nazivom "serverTime" s vrijednošću koja sadrži trenutno vrijeme poslužitelja. Kad se stranica učita u preglednik, JavaScript skripta prikazat će poruku s tim 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 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

3. korak

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

Preporučeni: