كيفية تمرير متغير

جدول المحتويات:

كيفية تمرير متغير
كيفية تمرير متغير

فيديو: كيفية تمرير متغير

فيديو: كيفية تمرير متغير
فيديو: Pass JavaScript Variable to PHP in Wordpress 2024, يمكن
Anonim

لتنظيم اتصال تفاعلي بين الزائر وموقع الويب (أو بالأحرى متصفح به خادم ويب) ، يحتاج المبرمج إلى توفير سيناريوهات لتبادل البيانات بينهما. دعنا نفكر في العديد من الخيارات البسيطة لتنظيم نقل المتغيرات من البرنامج النصي JavaScrip للعميل إلى البرنامج النصي 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

if ($ _ GET) صدى 'Received variable'.key ($ _ GET). '='. $ _ GET [key ($ _ GET)]؛

?>

يمكنك دمج الأجزاء الثلاثة المدروسة من الكود لتمرير المتغيرات من الخادم إلى المتصفح والعودة إلى ملف php واحد مثل هذا:

<؟ php

if ($ _ GET) صدى 'Received variable'.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 بإنشاء كود JavaScript عن طريق "تمرير" متغير يسمى "serverTime" بقيمة تحتوي على وقت الخادم الحالي. عندما يتم تحميل الصفحة في المتصفح ، سيعرض برنامج JavaScript النصي رسالة في هذا الوقت. ثم ينقر المستخدم على رابط "Send data to server" (إرسال البيانات إلى الخادم) ، وسوف يقوم بتشغيل وظيفة sendData () ، والتي سترسل طلب GET إلى الخادم ، ويمرر اسم المتغير ("clientTime") وقيمته (وقت العميل) إلى php النصي. سكربت php ، بعد قراءة اسم وقيمة متغير من المصفوفة $ _GET superglobal ، سيطبعه ويبدأ البرنامج النصي الموصوف بالكامل مرة أخرى.

تبادل المتغيرات وقيمها بين PHP و JavaScript
تبادل المتغيرات وقيمها بين PHP و JavaScript

الخطوه 3

كل ما تم وصفه أعلاه يطبق سيناريو نقل البيانات "المتزامن". إن تنفيذ الأسلوب "غير المتزامن" لتبادل البيانات بين البرامج النصية للعميل والخادم له اسمه الخاص AJAX (جافا سكريبت غير متزامن و XML). هذا الموضوع يستحق مقالة منفصلة.

موصى به: