Sådan Overføres En Variabel

Indholdsfortegnelse:

Sådan Overføres En Variabel
Sådan Overføres En Variabel

Video: Sådan Overføres En Variabel

Video: Sådan Overføres En Variabel
Video: Графическое изображение решений линейных уравнений с двумя переменными, пример 1 | Алгебра I | Ханская академия 2024, Kan
Anonim

For at organisere interaktiv kommunikation mellem en besøgende og et websted (eller rettere en browser med en webserver) skal programmøren give scenarier til udveksling af data mellem dem. Lad os overveje flere enkle muligheder for at organisere overførslen af variabler fra klienten JavaScrip-script til serverens PHP-script og omvendt.

Videregivelse af data fra PHP til JavaScript og omvendt
Videregivelse af data fra PHP til JavaScript og omvendt

Er det nødvendigt

Grundlæggende viden om PHP, JavaScript og HTML-sprog

Instruktioner

Trin 1

På tidspunktet for sidedannelse er det ikke svært at overføre en variabel sammen med dens værdi fra et php-script til et JavaScript-script. Selve PHP-scriptet genererer HTML-koden på den anmodede side inklusive de scripts, den indeholder. Dette betyder, at han kan skrive alle variabler i JavaScript-koden, der skal sendes sammen med deres værdier. F.eks. Sender dette php-script en variabel med navnet "serverTime" til klientscriptet, der indeholder den aktuelle servertid i formatet HOUR: MINUTE:

<? php

$ JSvarName = 'serverTime';

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

$ JScode = $ JSvarName. '= "'. $ JSvarVærdi. '";';

print ''. $ JScode.'alert ("Og på serveren nu" + '. $ JSvarName.'); '

?>

Videregivelse af en variabel og dens værdi fra PHP til Javascript
Videregivelse af en variabel og dens værdi fra PHP til Javascript

Trin 2

Den enkleste måde at videregive variablerens navne og værdier i den modsatte retning (fra JS-scriptet i klientens browser til PHP-scriptet på webserveren) kan se sådan ud i sidens HTML-kode:

var nu = ny dato ();

var varName = 'clientTime';

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

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

Dette script sender navnet på variablen "clientTime" til scriptet test2.php og dens værdi, der indeholder den aktuelle computertid i samme format HOUR: MINUTE. Denne metode til overførsel af data kaldes "synkron" - det vil resultere i en øjeblikkelig sideindlæsning. Mere præcist i stedet for den aktuelle side indlæses resultatet af test2.php-scriptet i browseren. Koden til dette php-script kan se sådan ud:

<? php

hvis ($ _ GET) ekko 'Modtaget variabel'.key ($ _ GET). '='. $ _ GET [nøgle ($ _ GET)];

?>

Du kan kombinere alle tre betragtede dele af koden til at overføre variabler fra serveren til browseren og tilbage til en php-fil som denne:

<? php

hvis ($ _ GET) ekko 'Modtaget variabel'.key ($ _ GET). '='. $ _ GET [nøgle ($ _ GET)];

$ JSvarName = 'serverTime';

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

$ JScode = $ JSvarName. '= "'. $ JSvarVærdi. '";';

udskriv ''. $ JScode.'alert ("Og på serveren nu" + '. $ JSvarName.'); '

?>

funktion sendData () {

var nu = 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 kombinerede (PHP + JavaScript) script genererer php-koden JavaScript-kode ved at "passere" en variabel med navnet "serverTime" med en værdi, der indeholder den aktuelle servertid. Når siden indlæses i browseren, viser JavaScript-scriptet en meddelelse med denne tid. Derefter klikker brugeren på linket "Send data til server" for at starte sendData () -funktionen, som sender en GET-anmodning til serveren og sender variabelnavnet ("clientTime") og dens værdi (klienttid) til php manuskript. Et php-script, der har læst navnet og værdien på en variabel fra $ _GET superglobal-arrayet, vil udskrive det og starte hele det beskrevne script igen.

Udveksling af variabler og deres værdier mellem PHP og JavaScript
Udveksling af variabler og deres værdier mellem PHP og JavaScript

Trin 3

Alt beskrevet ovenfor implementerer scenariet med "synkron" dataoverførsel. Implementeringen af den "asynkrone" metode til udveksling af data mellem klient- og server-scripts har sit eget navn AJAX (Asynchronous Javascript and XML). Dette emne fortjener en separat artikel.

Anbefalede: