একজন দর্শক এবং কোনও ওয়েবসাইটের (বা বরং ওয়েব সার্ভার সহ একটি ব্রাউজার) মধ্যে ইন্টারেক্টিভ যোগাযোগের ব্যবস্থা করার জন্য, প্রোগ্রামারকে তাদের মধ্যে ডেটা বিনিময়ের জন্য পরিস্থিতি সরবরাহ করতে হবে। আসুন ক্লায়েন্ট জাভাস্ক্রিপ্ট স্ক্রিপ্ট থেকে সার্ভার পিএইচপি স্ক্রিপ্টে এবং এর বিপরীতে ভেরিয়েবলগুলির স্থানান্তর সংগঠিত করার জন্য কয়েকটি সহজ বিকল্প বিবেচনা করি।

এটা জরুরি
পিএইচপি, জাভাস্ক্রিপ্ট এবং এইচটিএমএল ভাষার প্রাথমিক জ্ঞান
নির্দেশনা
ধাপ 1
পৃষ্ঠা গঠনের পর্যায়ে, পিএইচপি স্ক্রিপ্ট থেকে একটি জাভাস্ক্রিপ্ট স্ক্রিপ্টে তার মান সহ একটি ভেরিয়েবল স্থানান্তর করা কঠিন নয়। পিএইচপি স্ক্রিপ্ট নিজেই অনুরোধকৃত পৃষ্ঠার HTML কোড তৈরি করে, এতে থাকা স্ক্রিপ্টগুলিও অন্তর্ভুক্ত করে including এর অর্থ হ'ল তিনি জাভাস্ক্রিপ্ট কোডে যে কোনও ভেরিয়েবল লিখতে পারেন যা তাদের মান সহ পাশ করা উচিত। উদাহরণস্বরূপ, এই পিএইচপি স্ক্রিপ্টটি ক্লায়েন্ট স্ক্রিপ্টে "সার্ভারটাইম" নামে একটি ভেরিয়েবল বর্তমান সার্ভারের সময়টি HOUR: MINUTE: সহ ধারণ করবে
<? পিএইচপি
; জেএসওয়ারনাম = 'সার্ভারটাইম';
$ জেএসওয়ারওয়ালু = তারিখ ('এইচ: আই');
$ জেএসকোড = $ জেএসওয়ারনাম। '= "' $ জেএসওয়ারওয়ালু ''"; ';
মুদ্রণ ''। $ জেএসকোড.'এলার্ট ("এবং এখন সার্ভারে" + '$ জেএসবারনাম।'); '
?>

ধাপ ২
বিপরীত দিকের ভেরিয়েবলের নাম এবং মানগুলি পাস করার সহজ উপায় (ক্লায়েন্টের ব্রাউজারের জেএস স্ক্রিপ্ট থেকে ওয়েব সার্ভারে পিএইচপি স্ক্রিপ্টে) পৃষ্ঠার এইচটিএমএল কোডটিতে এটি দেখতে পাওয়া যেতে পারে:
var now = নতুন তারিখ ();
var varName = 'ক্লায়েন্টটাইম';
var varValue = now.getHours () + ":" + now.getMinutes ();
window.location.href = 'https://sa/test2.php?' + varName + '=' varValue;
এই স্ক্রিপ্টটি স্ক্রিপ্টে টেস্ট 2 পাঠিয়ে দেবে। পিএইচপি "ক্লায়েন্টটাইম" ভেরিয়েবলের নাম এবং এটির বর্তমান কম্পিউটার টাইমটি একই ফর্ম্যাটে HOUR: MINUTE ধারণ করে। ডেটা স্থানান্তর করার এই পদ্ধতিটিকে "সিঙ্ক্রোনাস" বলা হয় - এটি তাত্ক্ষণিক পৃষ্ঠা পুনরায় লোডের ফলস্বরূপ। আরও স্পষ্টভাবে, বর্তমান পৃষ্ঠার পরিবর্তে, test2.php স্ক্রিপ্টের ফলাফলটি ব্রাউজারে লোড হবে। এই পিএইচপি স্ক্রিপ্টের কোডটি এর মতো দেখতে পারে:
<? পিএইচপি
যদি ($ _ জিইটি) প্রতিধ্বনিত হয় 'রিসিভ ভেরিয়েবল'। কি ($ _ জিইটি)। '='। $ _ জিইটি [কী ($ _ জিইটি)];
?>
আপনি সার্ভার থেকে ব্রাউজারে ভেরিয়েবলগুলি পাসওয়ার্ডের জন্য কোডের তিনটি বিবেচিত অংশকে একত্রিত করতে পারেন এবং এই জাতীয় পিএইচপি ফাইলে ফিরে যেতে পারেন:
<? পিএইচপি
যদি ($ _ জিইটি) প্রতিধ্বনিত হয় 'রিসিভ ভেরিয়েবল'। কি ($ _ জিইটি)। '='। $ _ জিইটি [কী ($ _ জিইটি)];
; জেএসওয়ারনাম = 'সার্ভারটাইম';
$ জেএসওয়ারওয়ালু = তারিখ ('এইচ: আই');
$ জেএসকোড = $ জেএসওয়ারনাম। '= "' $ জেএসওয়ারওয়ালু ''"; ';
মুদ্রণ ''। $ জেএসকোড.'এলার্ট ("এবং এখন সার্ভারে" + '$ জেএসবারনাম।'); '
?>
ফাংশন সেন্ডডেটা () {
var now = নতুন তারিখ ();
var varName = 'ক্লায়েন্টটাইম';
var varValue = now.getHours () + ":" + now.getMinutes ();
window.location.href = "https://sa/test2.php?" + varName + "=" + ভ্যারভ্যালু;
প্রত্যাবর্তন মিথ্যা;
}
সার্ভারে ডেটা প্রেরণ করুন এই সম্মিলিত (পিএইচপি + জাভাস্ক্রিপ্ট) স্ক্রিপ্টে, পিএইচপি কোডটি বর্তমান সার্ভারের সময়কৃত মান সহ "সার্ভারটাইম" নামে একটি ভেরিয়েবল "পাস" করে জাভাস্ক্রিপ্ট কোড উত্পন্ন করবে। পৃষ্ঠাটি ব্রাউজারে লোড করা হলে, জাভাস্ক্রিপ্ট স্ক্রিপ্টটি এই বারের সাথে একটি বার্তা প্রদর্শন করবে। তারপরে ব্যবহারকারী "সার্ভারে ডেটা প্রেরণ করুন" লিঙ্কে ক্লিক করে সেন্ডডাটা () ফাংশন চালু করবে, যা সার্ভারে একটি জিইটি অনুরোধ প্রেরণ করবে, ভেরিয়েবলের নাম ("ক্লায়েন্টটাইম") এবং তার মান (ক্লায়েন্ট সময়) পিএইচপিতে প্রেরণ করবে লিপি. একটি পিএইচপি স্ক্রিপ্ট, $ _GET সুপারগ্লোবাল অ্যারে থেকে একটি ভেরিয়েবলের নাম এবং মান পড়ে, এটি মুদ্রণ করবে এবং পুরো বর্ণিত স্ক্রিপ্টটি আবার শুরু করবে।

ধাপ 3
উপরে বর্ণিত সমস্ত কিছুই "সিঙ্ক্রোনাস" ডেটা স্থানান্তরের দৃশ্যের প্রয়োগ করে। ক্লায়েন্ট এবং সার্ভার স্ক্রিপ্টগুলির মধ্যে ডেটা আদান প্রদানের "অ্যাসিনক্রোনাস" পদ্ধতির বাস্তবায়নের নিজস্ব নাম এজেএক্স (অ্যাসিনক্রোনাস জাভাস্ক্রিপ্ট এবং এক্সএমএল) রয়েছে। এই বিষয়টি একটি পৃথক নিবন্ধের দাবিদার।