Untuk mengatur komunikasi interaktif antara pengunjung dan situs web (atau lebih tepatnya, browser dengan server web), programmer perlu menyediakan skenario untuk pertukaran data di antara mereka. Mari kita pertimbangkan beberapa opsi sederhana untuk mengatur transfer variabel dari skrip JavaScrip klien ke skrip PHP server dan sebaliknya.
Itu perlu
Pengetahuan dasar tentang bahasa PHP, JavaScript, dan HTML
instruksi
Langkah 1
Pada tahap pembentukan halaman, tidak sulit untuk mentransfer variabel beserta nilainya dari skrip php ke skrip JavaScript. Skrip PHP itu sendiri menghasilkan kode HTML dari halaman yang diminta, termasuk skrip yang dikandungnya. Ini berarti bahwa ia dapat menulis variabel apa pun ke dalam kode JavaScript yang harus diteruskan bersama nilainya. Misalnya, skrip php ini akan meneruskan ke skrip klien variabel bernama "serverTime" yang berisi waktu server saat ini dalam format JAM: MENIT:
<? php
$ JSvarName = 'waktu server';
$JSvarValue = tanggal('H:i');
$ JScode = $ JSvarName. '= "'. $ JSvarValue. '";';
print ''. $ JScode.'alert ("Dan di server sekarang" + '. $ JSvarName.'); '
?>
Langkah 2
Cara paling sederhana untuk meneruskan nama dan nilai variabel ke arah yang berlawanan (dari skrip JS di browser klien ke skrip PHP di server web) dapat terlihat seperti ini di kode HTML halaman:
var sekarang = tanggal baru ();
var varName = 'waktu klien';
var varValue = now.getHours() + ":" + now.getMinutes();
window.location.href = 'https://sa/test2.php?' + varName + '=' varValue;
Skrip ini akan mengirimkan ke skrip test2.php nama variabel "clientTime" dan nilainya yang berisi waktu komputer saat ini dalam format yang sama JAM: MENIT. Metode transfer data ini disebut "sinkron" - ini akan menghasilkan pemuatan ulang halaman secara langsung. Lebih tepatnya, alih-alih halaman saat ini, hasil skrip test2.php akan dimuat ke browser. Kode untuk skrip php ini mungkin terlihat seperti ini:
<? php
if ($ _ GET) echo 'Variabel yang diterima'.key ($ _ GET).'='. $ _ GET [key ($ _ GET)];
?>
Anda dapat menggabungkan ketiga bagian kode yang dipertimbangkan untuk meneruskan variabel dari server ke browser dan kembali ke satu file php seperti ini:
<? php
if ($ _ GET) echo 'Variabel yang diterima'.key ($ _ GET).'='. $ _ GET [key ($ _ GET)];
$ JSvarName = 'waktu server';
$JSvarValue = tanggal('H:i');
$ JScode = $ JSvarName. '= "'. $ JSvarValue. '";';
print ''. $ JScode.'alert ("Dan di server sekarang" + '. $ JSvarName.'); '
?>
fungsi sendData() {
var sekarang = tanggal baru ();
var varName = 'waktu klien';
var varValue = now.getHours() + ":" + now.getMinutes();
window.location.href = "https://sa/test2.php?" + varName + "=" + varValue;
kembali salah;
}
Mengirim data ke server Dalam skrip gabungan (PHP + JavaScript) ini, kode php akan menghasilkan kode JavaScript dengan "melewati" variabel bernama "serverTime" dengan nilai yang berisi waktu server saat ini. Saat halaman dimuat ke browser, skrip JavaScript akan menampilkan pesan dengan waktu ini. Kemudian pengguna mengklik tautan "Kirim data ke server" akan meluncurkan fungsi sendData (), yang akan mengirim permintaan GET ke server, meneruskan nama variabel ("clientTime") dan nilainya (waktu klien) ke php naskah. Skrip php, setelah membaca nama dan nilai variabel dari larik superglobal $ _GET, akan mencetaknya dan memulai kembali seluruh skrip yang dijelaskan.
Langkah 3
Semua yang dijelaskan di atas menerapkan skenario transfer data "sinkron". Implementasi metode "asynchronous" pertukaran data antara skrip klien dan server memiliki nama sendiri AJAX (Asynchronous Javascript dan XML). Topik ini layak mendapatkan artikel terpisah.