Bir Değişken Nasıl Geçirilir

İçindekiler:

Bir Değişken Nasıl Geçirilir
Bir Değişken Nasıl Geçirilir

Video: Bir Değişken Nasıl Geçirilir

Video: Bir Değişken Nasıl Geçirilir
Video: 11) Regresyon Analizi, En Küçük Kareler Yöntemi, Standart Hata Terimi | İSTATİSTİK | XDERS 2024, Mayıs
Anonim

Bir ziyaretçi ile bir web sitesi (veya daha doğrusu, bir web sunucusuna sahip bir tarayıcı) arasındaki etkileşimli iletişimi düzenlemek için programcının, aralarında veri alışverişi için senaryolar sağlaması gerekir. Değişkenlerin istemci JavaScrip betiğinden sunucu PHP betiğine veya tam tersi şekilde transferini organize etmek için birkaç basit seçeneği ele alalım.

PHP'den JavaScript'e veri aktarma ve tam tersi
PHP'den JavaScript'e veri aktarma ve tam tersi

Bu gerekli

PHP, JavaScript ve HTML dilleri hakkında temel bilgi

Talimatlar

Aşama 1

Sayfa oluşturma aşamasında, bir değişkeni değeri ile birlikte bir php betiğinden JavaScript betiğine aktarmak zor değildir. PHP betiği, içerdiği betikler de dahil olmak üzere, istenen sayfanın HTML kodunu oluşturur. Bu, değerleriyle birlikte iletilmesi gereken herhangi bir değişkeni JavaScript koduna yazabileceği anlamına gelir. Örneğin, bu php komut dosyası, istemci komut dosyasına, geçerli sunucu saatini HOUR: MINUTE biçiminde içeren "serverTime" adlı bir değişken iletecektir:

<?php

$ JSvarName = 'sunucuZamanı';

$ JSvarValue = tarih ('S: ben');

$ JScode = $ JSvarAdı. '= "'. $ JSvarValue. '";';

print ''.$ JScode.'alert ("Ve şimdi sunucuda" + '. $ JSvarName.'); '

?>

PHP'den Javascript'e bir değişkeni ve değerini geçirmek
PHP'den Javascript'e bir değişkeni ve değerini geçirmek

Adım 2

Değişkenlerin adlarını ve değerlerini ters yönde (istemcinin tarayıcısındaki JS betiğinden web sunucusundaki PHP betiğine) geçirmenin en basit yolu, sayfanın HTML kodunda şöyle görünebilir:

var şimdi = yeni tarih ();

var varName = 'clientTime';

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

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

Bu komut dosyası, test2.php komut dosyasına "clientTime" değişkeninin adını ve geçerli bilgisayar saatini içeren değerini aynı HOUR: MINUTE biçiminde gönderir. Bu veri aktarma yöntemine "eşzamanlı" denir - bu, sayfanın hemen yeniden yüklenmesine neden olur. Daha doğrusu mevcut sayfa yerine test2.php betiğinin sonucu tarayıcıya yüklenecektir. Bu php betiğinin kodu şöyle görünebilir:

<?php

if ($ _ GET) echo 'Alınan değişken'.key ($ _ GET) '='.$ _ GET [anahtar ($ _ GET)];

?>

Değişkenleri sunucudan tarayıcıya ve aşağıdaki gibi tek bir php dosyasına aktarmak için kodun dikkate alınan üç bölümünü birleştirebilirsiniz:

<?php

if ($ _ GET) echo 'Alınan değişken'.key ($ _ GET) '='.$ _ GET [anahtar ($ _ GET)];

$ JSvarName = 'sunucuZamanı';

$ JSvarValue = tarih ('S: ben');

$ JScode = $ JSvarAdı. '= "'. $ JSvarValue. '";';

print ''.$ JScode.'alert ("Ve şimdi sunucuda" + '. $ JSvarName.'); '

?>

fonksiyon sendData () {

var şimdi = yeni tarih ();

var varName = 'clientTime';

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

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

yanlış döndür;

}

Sunucuya veri gönder Bu birleşik (PHP + JavaScript) komut dosyasında, php kodu, geçerli sunucu zamanını içeren bir değerle "serverTime" adlı bir değişkeni "geçerek" JavaScript kodu üretecektir. Sayfa tarayıcıya yüklendiğinde, JavaScript betiği bu seferlik bir mesaj görüntüler. Daha sonra kullanıcı "sunucuya veri gönder" bağlantısına tıkladığında, sunucuya bir GET isteği gönderecek olan sendData () işlevini başlatacak ve değişken adını ("clientTime") ve değerini (istemci zamanı) php'ye iletecektir. senaryo. $ _GET süper küresel dizisinden bir değişkenin adını ve değerini okuyan bir php betiği, onu yazdıracak ve açıklanan tüm betiği yeniden başlatacaktır.

PHP ve JavaScript arasındaki değişkenlerin ve değerlerinin değişimi
PHP ve JavaScript arasındaki değişkenlerin ve değerlerinin değişimi

Aşama 3

Yukarıda açıklanan her şey "eşzamanlı" veri aktarımı senaryosunu uygular. İstemci ve sunucu komut dosyaları arasında veri alışverişi için "eşzamansız" yöntemin uygulanmasının kendi adı AJAX (Eşzamansız Javascript ve XML) vardır. Bu konu ayrı bir makaleyi hak ediyor.

Önerilen: