পিএইচপিতে সেশন এবং ফর্ম

ধরা যাক আমাদের কাছে দুটি পিএইচপি ফাইল আছে। আসুন ফাইল test1.php-এ একটি ফর্ম রাখি, যা ব্যবহারকারীর কাছ থেকে দুটি সংখ্যা জিজ্ঞাসা করে:

test1.php<form method="GET">
  <input name="num1">
  <input name="num2">
  <input type="submit">
</form>

এই একই ফাইলে ফর্ম প্রক্রিয়াকরণের কোড রাখি। এই কোডে আমরা ইনপুটের ডেটা সেশনে লিখব:

test1.php<?php
  session_start();
  
  if (!empty($_GET)) {
    $_SESSION['num1'] = $_GET['num1'];
    $_SESSION['num2'] = $_GET['num2'];
  }
?>

একটি গুরুত্বপূর্ণ সূক্ষ্মতা: ফাইলে ফর্ম প্রক্রিয়াকরণের কোড ফর্মের আগে থাকতে হবে। কেন: কারণ এই কোডে আমরা সেশন নিয়ে কাজ করছি, এবং এর মানে হল এর আগে স্ক্রিনে কোন আউটপুট হওয়া উচিত নয় এটি।

এখন ফাইল test2.php-এ আসুন সেশনে সংরক্ষিত সংখ্যাগুলির যোগফল খুঁজে বের করি:

test2.php<?php
  if (!empty($_SESSION)) {
    echo $_SESSION['num1'] + $_SESSION['num2'];
  }
?>

এটি কোন ক্রমে কাজ করা উচিত? প্রথমে ব্যবহারকারী পৃষ্ঠা test1.php-এ যায়, ফর্ম পূরণ করে এবং বোতাম টিপে। এর পরে সে আবার আসে test1.php-এ, কিন্তু এখন জমা দেওয়া ফর্ম ডেটা সহ। এই ক্ষেত্রে সে শর্তে পড়ে, যেখানে আমরা ফর্মের ডেটা সেশনে লিখি।

এরপর ব্যবহারকারীকে ম্যানুয়ালি পৃষ্ঠা test2.php-এ যেতে হবে - এবং সেখানে সে প্রবেশ করা সংখ্যার যোগফল দেখতে পাবে।

আপনি জিজ্ঞাসা করতে পারেন: কেন এত কৌশল? শেষ পর্যন্ত সরাসরি ফর্মটি পৃষ্ঠায় test2.php-এ পাঠানো যেতে পারে। বিষয়টি হল যে এই ক্ষেত্রে সুবিধাটি হল যে ফর্ম নিজেই এবং এটি প্রক্রিয়াকরণের কোড একই পৃষ্ঠায় থাকে। এটি অবশ্যই সবসময় সুবিধাজনক নয়, কিন্তু কখনও কখনও প্রয়োজন হয়।

Задание 1

একটি পৃষ্ঠায় একটি ফর্ম ব্যবহার করে ব্যবহারকারীর কাছ থেকে উপাধি, নাম এবং বয়স জিজ্ঞাসা করুন। এই ডেটা সেশনে লিখুন। অন্য পৃষ্ঠায় যাওয়ার সময় এই ডেটা স্ক্রিনে প্রদর্শন করুন।