আপনার কোডটি দুটি সম্পূর্ণ আলাদা অংশে বিভক্ত, সার্ভারের পাশ এবং ক্লায়েন্টের দিক ।
|
---------->
HTTP request
|
+--------------+ | +--------------+
| | | | |
| browser | | | web server |
| (JavaScript) | | | (PHP etc.) |
| | | | |
+--------------+ | +--------------+
|
client side | server side
|
<----------
HTML, CSS, JavaScript
|
উভয় পক্ষই এইচটিটিপি অনুরোধ এবং প্রতিক্রিয়াগুলির মাধ্যমে যোগাযোগ করে। পিএইচপি সার্ভারে নির্বাহ করা হয় এবং কিছু এইচটিএমএল এবং সম্ভবত জাভাস্ক্রিপ্ট কোড আউটপুট দেয় যা ক্লায়েন্টের প্রতিক্রিয়া হিসাবে প্রেরণ করা হয় যেখানে এইচটিএমএল ব্যাখ্যা করা হয় এবং জাভাস্ক্রিপ্ট কার্যকর করা হয়। পিএইচপি একবার প্রতিক্রিয়া আউটপুট শেষ করার পরে, স্ক্রিপ্টটি শেষ হয় এবং কোনও নতুন এইচটিটিপি অনুরোধ না আসা পর্যন্ত সার্ভারে কিছুই হবে না।
উদাহরণ কোডটি এভাবে কার্যকর করে:
<script type="text/javascript">
var foo = 'bar';
<?php
file_put_contents('foo.txt', ' + foo + ');
?>
var baz = <?php echo 42; ?>;
alert(baz);
</script>
পদক্ষেপ 1, পিএইচপি <?php ?>
ট্যাগগুলির মধ্যে সমস্ত কোড চালায় । ফলাফল এটি:
<script type="text/javascript">
var foo = 'bar';
var baz = 42;
alert(baz);
</script>
file_put_contents
কল কিছু ঘটাতে না, এটা শুধু একটা ফাইলে, "+ foo বিন্যাস" লিখেছেন। <?php echo 42; ?>
কল আউটপুট "42", যা স্পট যেখানে যে কোড ব্যবহার করা হয় এখন ঘটে।
এই ফলস্বরূপ এইচটিএমএল / জাভাস্ক্রিপ্ট কোডটি এখন ক্লায়েন্টকে পাঠানো হয়েছে, যেখানে এটি মূল্যায়ন হয়। alert
কল কাজ করে, যখন foo
পরিবর্তনশীল যে কোন স্থানে ব্যবহার করা হয় না।
সমস্ত পিএইচপি কোডটি ক্লায়েন্ট এমনকি জাভাস্ক্রিপ্টের কোনও কার্যকর করতে শুরু করার আগেই সার্ভারে কার্যকর করা হয়। জাভাস্ক্রিপ্টের সাথে ইন্টারেক্ট করতে পারে এমন প্রতিক্রিয়ায় কোনও পিএইচপি কোড বাকী নেই।
কিছু পিএইচপি কোড কল করতে, ক্লায়েন্টকে সার্ভারে একটি নতুন এইচটিটিপি অনুরোধ পাঠাতে হবে। এটি তিনটি সম্ভাব্য পদ্ধতির একটি ব্যবহার করে ঘটতে পারে:
- একটি লিঙ্ক, যার ফলে ব্রাউজারটি একটি নতুন পৃষ্ঠা লোড করে।
- একটি ফর্ম জমা, যা সার্ভারে ডেটা জমা দেয় এবং একটি নতুন পৃষ্ঠা লোড করে।
- একটি এজেএক্স অনুরোধ, যা সার্ভারে নিয়মিত এইচটিটিপি অনুরোধ করার জন্য জাভাস্ক্রিপ্ট কৌশল (যেমন 1. এবং 2. উইল) তবে বর্তমান পৃষ্ঠাটি ছাড়াই।
বৃহত্তর বিশদে এই পদ্ধতিটির রূপরেখার একটি প্রশ্ন এখানে রয়েছে
আপনি জাভাস্ক্রিপ্ট ব্যবহার করে ব্রাউজারটিকে একটি নতুন পৃষ্ঠা খুলতে window.location
বা কোনও ফর্ম জমা দিয়ে, সম্ভাবনার অনুকরণ 1 এবং 2 তৈরি করতে করতে পারেন।
window.open
বা আইফ্রেমে একটি পৃষ্ঠা লোড করতে পারেন।