Dəyişən Necə ötürülür

Mündəricat:

Dəyişən Necə ötürülür
Dəyişən Necə ötürülür

Video: Dəyişən Necə ötürülür

Video: Dəyişən Necə ötürülür
Video: Dəyişən Elektrik Cərəyanı - Transformatorun iş prinsipi. Faydalı iş əmsalı. 2024, Bilər
Anonim

Bir ziyarətçi ilə veb sayt (daha doğrusu veb serverli brauzer) arasında interaktiv ünsiyyəti təşkil etmək üçün proqramçı aralarında məlumat mübadiləsi ssenariləri təqdim etməlidir. Dəyişənlərin müştəri JavaScript skriptindən server PHP skriptinə və əksinə ötürülməsini təşkil etmək üçün bir neçə sadə variantı nəzərdən keçirək.

PHP-dən JavaScript-ə məlumatların ötürülməsi və əksinə
PHP-dən JavaScript-ə məlumatların ötürülməsi və əksinə

Vacibdir

PHP, JavaScript və HTML dilləri haqqında əsas biliklər

Təlimat

Addım 1

Səhifənin formalaşma mərhələsində bir dəyişəni php skriptindən JavaScript skriptinə dəyəri ilə birlikdə köçürmək çətin deyil. PHP skriptinin özü, tərkibindəki skriptlər daxil olmaqla, tələb olunan səhifənin HTML kodunu yaradır. Bu o deməkdir ki, JavaScript koduna dəyərləri ilə birlikdə ötürülməsi lazım olan hər hansı bir dəyişəni yaza bilər. Məsələn, bu php skript cari server vaxtını HOUR: MINUTE formatında ehtiva edən "serverTime" adlı dəyişəni müştəri skriptinə ötürəcəkdir.

<? php

$ JSvarName = 'serverTime';

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

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

çap ''. $ JScode.'alert ("Və indi serverdə" + '. $ JSvarName.'); '

?>

PHP-dən Javascript-ə dəyişən və onun dəyərinin ötürülməsi
PHP-dən Javascript-ə dəyişən və onun dəyərinin ötürülməsi

Addım 2

Dəyişənlərin adlarını və dəyərlərini əks istiqamətdə ötürməyin ən sadə yolu (müştəri brauzerindəki JS skriptindən veb serverdəki PHP skriptinə qədər) səhifənin HTML kodunda belə görünə bilər:

var now = yeni tarix ();

var varName = 'clientTime';

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

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

Bu skript test2.php skriptinə "clientTime" dəyişəninin adını və cari kompüter vaxtını ehtiva edən dəyərini HOUR: MINUTE formatında göndərir. Məlumatların ötürülməsinin bu üsulu "sinxron" adlanır - dərhal səhifənin yenidən yüklənməsi ilə nəticələnəcəkdir. Daha doğrusu, cari səhifə əvəzinə test2.php skriptinin nəticəsi brauzerə yüklənəcəkdir. Bu php skriptinin kodu belə görünə bilər:

<? php

if ($ _ GET) echo 'Alınan dəyişən'.key ($ _ GET). '='. $ _ GET [key ($ _ GET)];

?>

Dəyişənləri serverdən brauzerə ötürmək və yenidən bir php sənədinə ötürmək üçün kodun nəzərdən keçirilmiş hər üç hissəsini birləşdirə bilərsiniz:

<? php

if ($ _ GET) echo 'Alınan dəyişən'.key ($ _ GET). '='. $ _ GET [key ($ _ GET)];

$ JSvarName = 'serverTime';

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

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

print ''. $ JScode.'alert ("Və indi serverdə" + '. $ JSvarName.'); '

?>

funksiyası sendData () {

var now = yeni tarix ();

var varName = 'clientTime';

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

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

yalan qayıt;

}

Verilənləri serverə göndərin Bu birləşdirilmiş (PHP + JavaScript) skriptdə php kodu, "serverTime" adlı bir dəyişəni cari server vaxtını ehtiva edən bir "keçərək" JavaScript kodu yaradır. Səhifə brauzerə yükləndikdə, JavaScript skriptində bu dəfə bir mesaj görünəcəkdir. Sonra istifadəçi "Verilənləri serverə göndər" bağlantısını tıkladıqda dəyişən adı ("clientTime") və dəyərini (müştəri vaxtı) php-ə ötürərək serverə GET sorğusu göndərəcək sendData () funksiyasını işə salacaq. skript. Bir php skript, $ _GET superglobal massivindən bir dəyişənin adını və dəyərini oxuduqdan sonra onu yazdıracaq və bütün təsvir edilmiş skriptə yenidən başlayacaq.

PHP və JavaScript arasında dəyişənlərin və onların dəyərlərinin mübadiləsi
PHP və JavaScript arasında dəyişənlərin və onların dəyərlərinin mübadiləsi

Addım 3

Yuxarıda təsvir olunan hər şey "sinxron" məlumat ötürülməsi ssenarisini həyata keçirir. Müştəri və server skriptləri arasında məlumat mübadiləsi "asinxron" metodunun tətbiqinin öz adı AJAX (Asynchronous Javascript və XML) var. Bu mövzu ayrı bir məqaləyə layiqdir.

Tövsiyə: