نحوه عبور یک متغیر

فهرست مطالب:

نحوه عبور یک متغیر
نحوه عبور یک متغیر

تصویری: نحوه عبور یک متغیر

تصویری: نحوه عبور یک متغیر
تصویری: دوره آموزش پی اچ پی - جلسه دوم - متغیر ها ، آرایه ها و عملگر های ریاضی 2024, نوامبر
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. '"؛'؛

print ''. $ JScode.'alert ("و اکنون روی سرور" + '. $ JSvarName.')؛ '

?>

عبور یک متغیر و مقدار آن از PHP به Javascript
عبور یک متغیر و مقدار آن از PHP به Javascript

گام 2

ساده ترین روش عبور از نام و مقادیر متغیرها در جهت مخالف (از اسکریپت JS در مرورگر مشتری تا اسکریپت PHP در وب سرور) می تواند در کد HTML صفحه به صورت زیر باشد:

var اکنون = تاریخ جدید ()؛

var varName = 'clientTime'؛

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

window.location.href = 'https://sa/test2.php؟' + varName + '=' varValue؛

این اسکریپت نام متغیر "clientTime" و مقدار آن را که حاوی زمان کنونی رایانه است با همان قالب HOUR: MINUTE به اسکریپت test2.php ارسال می کند. این روش انتقال داده "همزمان" نامیده می شود - در نتیجه بارگیری مجدد صفحه بلافاصله انجام می شود. به عبارت دقیق تر ، به جای صفحه فعلی ، نتیجه اسکریپت test2.php در مرورگر بارگیری می شود. کد این اسکریپت php ممکن است به صورت زیر باشد:

<؟ php

if ($ _ GET) echo 'متغیر دریافت شده'.key ($ _ GET). '='. $ _ GET [کلید ($ _ GET)]؛

?>

می توانید هر سه قسمت کد را برای انتقال متغیرها از سرور به مرورگر و بازگشت به یک فایل php مانند این ترکیب کنید:

<؟ php

if ($ _ GET) echo 'متغیر دریافت شده'.key ($ _ GET). '='. $ _ GET [کلید ($ _ GET)]؛

$ JSvarName = 'serverTime'؛

$ JSvarValue = تاریخ ('H: i')؛

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

print ''. $ JScode.'alert ("و اکنون روی سرور" + '. $ JSvarName.')؛ '

?>

تابع sendData () {

var اکنون = تاریخ جدید ()؛

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 () را راه اندازی می کند ، که با ارسال نام متغیر ("clientTime") و مقدار آن (زمان مشتری) به php ، درخواست GET را به سرور ارسال می کند. فیلمنامه یک اسکریپت php ، با خواندن نام و مقدار متغیر از آرایه $ _GET superglobal ، آن را چاپ کرده و مجدداً کل اسکریپت توصیف شده را شروع می کند.

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

مرحله 3

همه آنچه در بالا توضیح داده شد سناریوی انتقال داده "همزمان" را پیاده سازی می کند. اجرای روش "ناهمگام" برای تبادل داده بین اسکریپت های کلاینت و سرور ، نام خود را AJAX (Asynchronous Javascript و XML) دارد. این موضوع شایسته مقاله جداگانه ای است.

توصیه شده: