Ինչպես անցնել փոփոխական

Բովանդակություն:

Ինչպես անցնել փոփոխական
Ինչպես անցնել փոփոխական

Video: Ինչպես անցնել փոփոխական

Video: Ինչպես անցնել փոփոխական
Video: Արթուր Սիմոնյան «Ինչպես անցնել անապատը» 2024, Մայիս
Anonim

Այցելուի և կայքի (ավելի ճիշտ ՝ զննարկիչ ՝ վեբ սերվերի հետ) ինտերակտիվ հաղորդակցություն կազմակերպելու համար ծրագրավորողը պետք է սցենարներ տրամադրի նրանց միջև տվյալների փոխանակման համար: Եկեք քննարկենք հաճախորդի JavaScript գրությունից սերվերի PHP գրությունը և հակառակը փոփոխականների տեղափոխման կազմակերպման մի քանի պարզ տարբերակ:

PHP- ից JavaScript- ի և հակառակը տվյալների փոխանցում
PHP- ից JavaScript- ի և հակառակը տվյալների փոխանցում

Դա անհրաժեշտ է

PHP, JavaScript և HTML լեզուների հիմնական գիտելիքներ

Հրահանգներ

Քայլ 1

Էջի ձևավորման փուլում դժվար չէ փոխել փոփոխականն իր արժեքի հետ php գրությունից JavaScript գրության վրա: PHP գրությունն ինքնին առաջացնում է հայցվող էջի HTML կոդ, ներառյալ դրա մեջ պարունակվող սցենարները: Սա նշանակում է, որ նա կարող է JavaScript կոդի մեջ գրել ցանկացած փոփոխական, որը պետք է փոխանցվի դրանց արժեքների հետ միասին: Օրինակ, այս php սցենարը հաճախորդի գրությանը կփոխանցի «serverTime» անունով փոփոխական, որը պարունակում է սերվերի ընթացիկ ժամանակը HOUR: MINUTE:

<? php

$ JSvarName = 'serverTime';

$ JSvarValue = ամսաթիվ ('H: i');

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

տպել ''. $ JScode.'alert ("Եվ հիմա սերվերում" + '. $ JSvarName.'); '

?>

Փոփոխականի և դրա արժեքի փոխանցում PHP- ից Javascript
Փոփոխականի և դրա արժեքի փոխանցում PHP- ից Javascript

Քայլ 2

Փոփոխականների անուններն ու արժեքները հակառակ ուղղությամբ փոխանցելու ամենապարզ ձևը (հաճախորդի զննարկչում JS գրությունից մինչև վեբ սերվերի վրա գտնվող PHP գրություն) կարող է նման լինել էջի HTML կոդում.

var հիմա = նոր ամսաթիվ ();

var varName = 'հաճախորդի ժամանակ';

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

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

Այս սցենարը սցենարին test2.php կուղարկի «clientTime» փոփոխականի անունը և դրա արժեքը, որը պարունակում է ընթացիկ համակարգչի ժամանակը ՝ նույն ձևաչափով HOUR: MINUTE: Տվյալների փոխանցման այս մեթոդը կոչվում է «համաժամանակյա». Դա կհանգեցնի էջի անմիջապես վերաբեռնումին: Ավելի ճիշտ, ընթացիկ էջի փոխարեն, test2.php սցենարի արդյունքը կտեղադրվի զննարկիչում: Այս php գրության ծածկագիրը կարող է նման լինել հետևյալ կերպ.

<? php

if ($ _ GET) echo 'Received variable'.key ($ _ GET). '='. $ _ GET [ստեղն ($ _ GET)];

?>

Կոդի բոլոր երեք դիտարկված մասերը կարող եք համատեղել սերվերից զննարկիչին փոփոխականներ փոխանցելու և հետևյալ մեկ PHP ֆայլի մեջ.

<? php

if ($ _ GET) echo 'Received variable'.key ($ _ GET). '='. $ _ GET [ստեղն ($ _ GET)];

$ JSvarName = 'serverTime';

$ JSvarValue = ամսաթիվ ('H: i');

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

տպել ''. $ JScode.'alert ("Եվ հիմա սերվերում" + '. $ JSvarName.'); '

?>

գործառույթ sendData () {

var հիմա = նոր ամսաթիվ ();

var varName = 'հաճախորդի ժամանակ';

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

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

վերադարձ կեղծ;

}

Տվյալներ ուղարկել սերվերին Այս համակցված (PHP + JavaScript) սցենարում php կոդը կստեղծի JavaScript կոդ ՝ «սերվերի ժամանակ» անունով փոփոխականին «փոխանցելով» ՝ սերվերի ընթացիկ ժամանակը պարունակող արժեքով: Երբ էջը բեռնվում է զննարկչի մեջ, JavaScript գրությունը այս անգամ հաղորդագրություն կցուցադրի: Այնուհետև օգտագործողը կտտացնում է «Տվյալներ ուղարկել սերվերին» հղմանը ՝ գործարկվելու է sendData () գործառույթը, որը սերվերին GET հարցում կուղարկի ՝ փոխանցելով փոփոխականի անունը («հաճախորդի ժամ») և դրա արժեքը (հաճախորդի ժամանակը) php- ին: սցենար PHP սցենարը, կարդալով $ _GET սուպերգլանային զանգվածից փոփոխականի անունը և արժեքը, կտպագրի այն և նորից կսկսի նկարագրված ամբողջ սցենարը:

Փոփոխականների և դրանց արժեքների փոխանակում PHP- ի և JavaScript- ի միջև
Փոփոխականների և դրանց արժեքների փոխանակում PHP- ի և JavaScript- ի միջև

Քայլ 3

Վերը նկարագրված ամեն ինչ իրականացնում է տվյալների «սինքրոն» փոխանցման սցենարը: Հաճախորդի և սերվերի սցենարների միջև տվյալների փոխանակման «ասինքրոն» մեթոդի իրագործումն ունի իր սեփական անունը ՝ AJAX (Asynchronous Javascript և XML): Այս թեման արժանի է առանձին հոդվածի:

Խորհուրդ ենք տալիս: