PHP Superglobals Variable পর্ব-২: PHP Get, Post and Request Super Global

Last Updated on July 28, 2022 by Masud Alam

এই পর্বে আপনি জানতে পারবেন :

get post

PHP তে $_GET, $_POST, $_REQUEST Superglobals Variable কি ?

HTTP Request GET Method যুক্ত HTML FORM অথবা URL এর মাধ্যমে পাঠানো Data বা তথ্য PHP সার্ভার থেকে Receive বা গ্রহণ করার জন্য $_GET Superglobals variable টি ব্যবহার করা হয়। একই ভাবে HTTP Request POST Method যুক্ত HTML FORM এর পাঠানো Data বা তথ্য Receive বা গ্রহণ করার জন্য $_POST Superglobal Variable টি ব্যবহার করা হয়। আবার FORM (GET এবং POST উভয় Method) অথবা URL এর মাধ্যমে পাঠানো Data বা তথ্য অথবা Browser এ সংরক্ষিত যেকোনো Cookie Variable কে receive বা গ্রহণ করার জন্য $_REQUEST superglobal Variable টি ব্যবহৃত হয়।

Zend Certified PHP Engineering (ZCPE) Course

HTTP Request Method গুলোর মধ্যে GET and POST এর মধ্যে কোনো পার্থক্য আছে ?

হাঁ HTTP Request Method গুলোর মধ্যে GET and POST এর মধ্যে অনেক গুলো পার্থক্য বিদ্যমান , নিচের Table এ সবগুলো পার্থক্য আলোচনা করা হয়েছে :

  • GET Method এর মাধ্যমে পাঠানো data ব্রাউজারে Cache করা যায়।
  • GET Method এর মাধ্যমে পাঠানো data ব্রাউজারের history তে থাকে।
  • GET Method এর মাধ্যমে পাঠানো data বুকমার্ক করা যায়।
  • GET Method এর মাধ্যমে পাঠানো data ব্রাউজারের URL এ দেখা যায়। সুতরাং যেকোনো sensetive বা গোপন তথ্য GET Method এর মাধ্যমে না পাঠানো উচিত।
  • GET Method এর মাধ্যমে বেশি ডাটা পাঠানো যায়না।
  • GET Method তুলনা মূলক POST Method থেকে দ্রুত গতিতে data পাঠাতে পারে।
  • GET Method এর মাধ্যমে সার্ভার এ File Upload করা যায়না।
  • POST Method এর মাধ্যমে পাঠানো data ব্রাউজারে Cache করা যায় না ।
  • POST Method এর মাধ্যমে পাঠানো data ব্রাউজারের history তে থাকে না ।
  • POST Method এর মাধ্যমে পাঠানো data বুকমার্ক করা যায় না ।
  • POST Method এর মাধ্যমে পাঠানো data ব্রাউজারের URL এ দেখা যায় না । সুতরাং যেকোনো sensetive বা গোপন তথ্য POST Method এর মাধ্যমে পাঠানো যেতে পারে ।
  • POST Method এর মাধ্যমে যত ইচ্ছা ডাটা পাঠানো যায়।
  • POST Method তুলনা মূলক GET Method থেকে slow হয় ।
  • POST Method এর মাধ্যমে সার্ভার এ File Upload করা যায়।

কিভাবে $_GET দিয়ে HTML Form এর Data বা তথ্য সার্ভার থেকে Receive বা গ্রহণ করবো ?

$_GET দিয়ে HTML Form এর Data বা তথ্য সার্ভার থেকে Receive বা গ্রহণ করার জন্য নিচের ধাপ গুলো পূরণ করুন :

Zend Certified PHP Engineering (ZCPE) Course

প্রথম ধাপ :

প্রথমে আমরা get.html নামে একটা html form বানাবো যার মেথড হবে get, এবং এই ফাইলটি আমাদের সার্ভার এ test folder এ রাখবো । নিচের কোডটি দেখুন :

<!DOCTYPE html>
<html>
<head>
	<title>HTML Form with Get Method Example</title>
</head>
<body>
<form method="get" action="process.php">
Name:<input type="text" name="name"><br>
Age: <input type="number" name="age"><br>
<input type="submit" name="submit" value="Send">
</form>
</body>
</html>

দ্বিতীয় ধাপ :

এবার আমরা একই ফোল্ডার অর্থাৎ test ফোল্ডারে process.php ফাইলটি নিচের কোড গুলো দিয়ে বানাবো:

<?php  
echo "<pre>";
//print_r($_REQUEST);
//OR
print_r($_GET);
echo "</pre>";
?>

Note:যেহেতু আপনার FORM টির method=”get” দেওয়া সুতরাং আপনি নিমেষেই $_GET অথবা $_REQUEST দুইটির যেকোনো একটি দিয়ে Form এর value receive করতে পারবেন।

তৃতীয় ধাপ :

এইবার আপনার ব্রাউজার এর address বার এ গিয়ে নিচের লিংকটি hit করুন :

http://localhost/test/get.php

ফলাফল নিচের মতো করে দেখাবে :

get method

চতুর্থ ধাপ:

এখন যদি আপনি Form টি পূরণ করে submit করেন, তাহলে আপনি form এর action পেজ অর্থাৎ process.php ফাইল এ আপনার GET মেথড এ পাঠানো input value গুলো পাবেন। এবং get.php file দিয়ে কি কি value যাচ্ছে তা URL এ দেখতে পাবেন। নিচের স্ক্রিনশর্ট লক্ষ্য করুন :

receive value by get method

কিভাবে $_POST দিয়ে HTML Form এর Data বা তথ্য সার্ভার থেকে Receive বা গ্রহণ করবো ?

$_POST দিয়ে HTML Form এর Data বা তথ্য সার্ভার থেকে Receive বা গ্রহণ করার জন্য নিচের ধাপ গুলো পূরণ করুন :

প্রথম ধাপ :

প্রথমে আমরা post.html নামে একটা html form বানাবো যার মেথড হবে get, এবং এই ফাইলটি আমাদের সার্ভার এ test folder এ রাখবো । নিচের কোডটি দেখুন :

<!DOCTYPE html>
<html>
<head>
	<title>HTML Form with Get Method Example</title>
</head>
<body>
<form method="post" action="process2.php">
Name:<input type="text" name="name"><br>
Age: <input type="number" name="age"><br>
<input type="submit" name="submit" value="Send">
</form>
</body>
</html>

Zend Certified PHP Engineering (ZCPE) Course

দ্বিতীয় ধাপ :

এবার আমরা একই ফোল্ডার অর্থাৎ test ফোল্ডারে process2.php ফাইলটি নিচের কোড গুলো দিয়ে বানাবো:

<?php  
echo "<pre>";
//print_r($_REQUEST);
//OR
print_r($_POST);
echo "</pre>";
?>

Note:যেহেতু আপনার FORM টির method=”post” দেওয়া সুতরাং আপনি নিমেষেই $_POST অথবা $_REQUEST দুইটির যেকোনো একটি দিয়ে Form এর value receive করতে পারবেন।

তৃতীয় ধাপ :

এইবার আপনার ব্রাউজার এর address বার এ গিয়ে নিচের লিংকটি hit করুন :

http://localhost/test/post.php

ফলাফল নিচের মতো করে দেখাবে :

post method

চতুর্থ ধাপ:

এখন যদি আপনি Form টি পূরণ করে submit করেন, তাহলে আপনি form এর action পেজ অর্থাৎ process2.php ফাইল এ আপনার POST মেথড এ পাঠানো input value গুলো পাবেন । তবে post.php file দিয়ে কি কি value যাচ্ছে তা URL এ দেখতে পারবেননা । নিচের স্ক্রিনশর্ট লক্ষ্য করুন :

receive value by post method

One comment to “PHP Superglobals Variable পর্ব-২: PHP Get, Post and Request Super Global”

Leave a Reply