Hvordan Passere En Variabel

Innholdsfortegnelse:

Hvordan Passere En Variabel
Hvordan Passere En Variabel

Video: Hvordan Passere En Variabel

Video: Hvordan Passere En Variabel
Video: Ersätta ett uttryck med en variabel 2024, September
Anonim

For å organisere interaktiv kommunikasjon mellom en besøkende og et nettsted (eller rettere sagt en nettleser med en webserver), må programmereren gi scenarier for utveksling av data mellom dem. La oss vurdere flere enkle alternativer for å organisere overføring av variabler fra klienten JavaScrip-skript til serverens PHP-skript og omvendt.

Overføring av data fra PHP til JavaScript og omvendt
Overføring av data fra PHP til JavaScript og omvendt

Det er nødvendig

Grunnleggende kunnskap om PHP, JavaScript og HTML-språk

Bruksanvisning

Trinn 1

På scenedannelsesstadiet er det ikke vanskelig å overføre en variabel sammen med verdien fra et php-skript til et JavaScript-skript. Selve PHP-skriptet genererer HTML-koden til den forespurte siden, inkludert skriptene den inneholder. Dette betyr at han kan skrive alle variabler i JavaScript-koden som skal sendes sammen med verdiene. For eksempel vil dette php-skriptet gi klienten skriptet en variabel med navnet "serverTime" som inneholder gjeldende servertid i formatet HOUR: MINUTE:

<? php

$ JSvarName = 'serverTime';

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

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

skriv ut ''. $ JScode.'alert ("Og på serveren nå" + '. $ JSvarName.'); '

?>

Overføring av en variabel og verdien fra PHP til Javascript
Overføring av en variabel og verdien fra PHP til Javascript

Steg 2

Den enkleste måten å overføre navn og verdier på variabler i motsatt retning (fra JS-skriptet i klientens nettleser til PHP-skriptet på webserveren) kan se slik ut i HTML-koden på siden:

var nå = ny dato ();

var varName = 'clientTime';

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

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

Dette skriptet vil sende til scriptet test2.php navnet på "clientTime" -variabelen og dens verdi som inneholder gjeldende datatid i samme format HOUR: MINUTE. Denne metoden for overføring av data kalles "synkron" - det vil resultere i en umiddelbar sideoppdatering. Mer presist, i stedet for den nåværende siden, blir resultatet av test2.php-skriptet lastet inn i nettleseren. Koden for dette php-skriptet kan se slik ut:

<? php

hvis ($ _ GET) ekko 'Mottatt variabel'.key ($ _ GET). '='. $ _ GET [key ($ _ GET)];

?>

Du kan kombinere alle tre viktige deler av koden for å overføre variabler fra serveren til nettleseren og tilbake til en php-fil slik:

<? php

hvis ($ _ GET) ekko 'Mottatt variabel'.key ($ _ GET). '='. $ _ GET [key ($ _ GET)];

$ JSvarName = 'serverTime';

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

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

skriv ut ''. $ JScode.'alert ("Og på serveren nå" + '. $ JSvarName.'); '

?>

funksjon sendData () {

var nå = ny dato ();

var varName = 'clientTime';

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

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

returner falsk;

}

Send data til server I dette kombinerte (PHP + JavaScript) skriptet genererer php-koden JavaScript-kode ved å "sende" en variabel kalt "serverTime" med en verdi som inneholder gjeldende servertid. Når siden er lastet inn i nettleseren, vil JavaScript-skriptet vise en melding med denne tiden. Deretter klikker brukeren på "Send data til server" -linken, vil sendData () -funksjonen starte, som vil sende en GET-forespørsel til serveren, og sende variabelnavnet ("clientTime") og verdien (klienttid) til php manus. Et php-skript, som har lest navnet og verdien til en variabel fra $ _GET superglobal-array, vil skrive det ut og starte hele det beskrevne skriptet på nytt.

Utveksling av variabler og deres verdier mellom PHP og JavaScript
Utveksling av variabler og deres verdier mellom PHP og JavaScript

Trinn 3

Alt beskrevet ovenfor implementerer scenariet med "synkron" dataoverføring. Implementeringen av den "asynkrone" metoden for utveksling av data mellom klient- og serverskript har sitt eget navn AJAX (Asynchronous Javascript and XML). Dette emnet fortjener en egen artikkel.

Anbefalt: