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 টি ব্যবহৃত হয়।
HTTP Request Method গুলোর মধ্যে GET and POST এর মধ্যে কোনো পার্থক্য আছে ?
হাঁ HTTP Request Method গুলোর মধ্যে GET and POST এর মধ্যে অনেক গুলো পার্থক্য বিদ্যমান , নিচে সবগুলো পার্থক্য আলোচনা করা হয়েছে :
GET
- 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
- 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 বা গ্রহণ করার জন্য নিচের ধাপ গুলো পূরণ করুন :
প্রথম ধাপ :
প্রথমে আমরা 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 করুন :
চতুর্থ ধাপ:
এখন যদি আপনি Form টি পূরণ করে submit করেন, তাহলে আপনি form এর action পেজ অর্থাৎ process.php ফাইল এ আপনার GET মেথড এ পাঠানো input value গুলো পাবেন।
কিভাবে $_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>
দ্বিতীয় ধাপ :
এবার আমরা একই ফোল্ডার অর্থাৎ 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
চতুর্থ ধাপ:
এখন যদি আপনি Form টি পূরণ করে submit করেন, তাহলে আপনি form এর action পেজ অর্থাৎ process2.php ফাইল এ আপনার POST মেথড এ পাঠানো input value গুলো পাবেন ।