Хувьсагчийг хэрхэн яаж дамжуулах вэ

Агуулгын хүснэгт:

Хувьсагчийг хэрхэн яаж дамжуулах вэ
Хувьсагчийг хэрхэн яаж дамжуулах вэ

Видео: Хувьсагчийг хэрхэн яаж дамжуулах вэ

Видео: Хувьсагчийг хэрхэн яаж дамжуулах вэ
Видео: Супер тухтай сүлжмэл оймсны загвар 2024, May
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 now = шинэ огноо ();

var varName = 'clientTime';

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

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

Энэ скрипт нь test2.php скриптэд "clientTime" хувьсагчийн нэр ба түүний одоогийн компьютерийн цагийг агуулсан утгыг ижил цаг HOUR: MINUTE хэлбэрээр илгээнэ. Өгөгдөл дамжуулах энэ аргыг "синхрон" гэж нэрлэдэг бөгөөд энэ нь хуудсыг нэн даруй дахин ачаалахад хүргэдэг. Илүү нарийвчлалтайгаар одоогийн хуудасны оронд test2.php скриптийн үр дүнг хөтөч дээр ачаалах болно. Энэ php скриптийн код дараах байдалтай байж магадгүй юм.

<? php

хэрэв ($ _ GET) echo 'Хүлээн авсан хувьсагч'.key ($ _ GET). '='. $ _ GET [key ($ _ GET)];

?>

Та хувьсагчуудыг серверээс хөтөч рүү дамжуулж, нэг php файлд буцааж дамжуулахын тулд кодын авч үзсэн гурван хэсгийг бүгдийг нь нэгтгэж болно.

<? php

хэрэв ($ _ GET) echo 'Хүлээн авсан хувьсагч'.key ($ _ GET). '='. $ _ GET [key ($ _ GET)];

$ JSvarName = 'serverTime';

$ JSvarValue = огноо ('H: i');

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

хэвлэх ''. $ JScode.'alert ("Сервер дээр одоо" + '. $ JSvarName.'); '

?>

функц sendData () {

var now = шинэ огноо ();

var varName = 'clientTime';

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

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

хуурамчаар буцаах;

}

Сервер рүү өгөгдөл илгээх Энэхүү хосолсон (PHP + JavaScript) скриптэд php код нь "serverTime" нэртэй хувьсагчийг одоогийн серверийн хугацааг багтаасан "дамжуулж" JavaScript кодыг үүсгэх болно. Хуудсыг хөтөч дээр ачаалах үед JavaScript скрипт нь энэ хугацаатай мессежийг харуулах болно. Дараа нь хэрэглэгч "Өгөгдлийг сервер рүү илгээх" холбоос дээр дарахад sendData () функцийг ажиллуулах бөгөөд энэ нь GET хүсэлтийг сервер рүү илгээж хувьсагчийн нэр ("clientTime") болон түүний утга (үйлчлүүлэгчийн цаг) -ийг php руу дамжуулна. скрипт. Php скрипт нь $ _GET superglobal массиваас хувьсагчийн нэр ба утгыг уншаад үүнийг хэвлээд бүхэлд нь тайлбарласан скриптийг эхлүүлэх болно.

PHP ба JavaScript хооронд хувьсагчдын солилцоо ба тэдгээрийн утга
PHP ба JavaScript хооронд хувьсагчдын солилцоо ба тэдгээрийн утга

Алхам 3

Дээр тайлбарласан бүх зүйл нь "синхрон" өгөгдөл дамжуулах хувилбарыг хэрэгжүүлдэг. Клиент болон серверийн скриптүүдийн хооронд өгөгдөл солилцох "асинхрон" аргыг хэрэгжүүлэх нь өөрийн гэсэн AJAX нэртэй байдаг (Asynchronous Javascript and XML). Энэ сэдэв нь тусдаа өгүүллийг авах ёстой.

Зөвлөмж болгож буй: