এখন পর্যন্ত সবকিছু ছিল আপনি নিজে তৈরি করা ভ্যারিয়েবল নিয়ে। সুপারগ্লোবাল আলাদা — এগুলো বিল্ট-ইন অ্যাসোসিয়েটিভ অ্যারে যা PHP স্বয়ংক্রিয়ভাবে পূরণ করে, যাতে থাকে বর্তমানে হ্যান্ডেল হওয়া আসল ওয়েব রিকোয়েস্ট সম্পর্কে তথ্য। এখানেই PHP "শুধু একটি স্ক্রিপ্টিং ভাষা" হওয়া বন্ধ করে বিশেষভাবে একটি ওয়েব স্ক্রিপ্টিং ভাষা হয়ে ওঠে।
| সুপারগ্লোবাল | ধারণ করে |
|---|---|
| $_GET | URL-এর query string-এ পাঠানো ডেটা (?name=value) |
| $_POST | একটি ফর্ম সাবমিশনের body-তে পাঠানো ডেটা |
| $_SERVER | সার্ভার আর বর্তমান রিকোয়েস্ট সম্পর্কে তথ্য (URL, মেথড, হেডার) |
| $_SESSION | একজন visitor-এর একাধিক পাতা visit জুড়ে টিকে থাকা ডেটা (session_start() প্রয়োজন) |
| $_COOKIE | visitor-এর ব্রাউজারে visit-এর মধ্যে সংরক্ষিত ছোট ছোট ডেটা |
| $_FILES | visitor আপলোড করা যেকোনো ফাইল সম্পর্কে তথ্য |
পরের কয়েকটি পাঠে সবচেয়ে বেশি ব্যবহৃতগুলো — $_GET/$_POST, এরপর $_SESSION/$_COOKIE — সত্যিকারের বিস্তারিতভাবে দেখানো হবে। এই পাঠটি বিস্তারিত যাওয়ার আগে একটি মানচিত্র মাত্র।
<?php
// If the URL is page.php?name=Priya
echo $_GET["name"]; // "Priya"
?><?php
echo $_SERVER["REQUEST_METHOD"]; // "GET" or "POST"
echo $_SERVER["PHP_SELF"]; // the current script's path
?>সুপারগ্লোবাল ডেটা ডিফল্টভাবে কখনোই বিশ্বাস করা হয় না
প্রতিটি সুপারগ্লোবালে আপনার স্ক্রিপ্টের বাইরে থেকে আসা ডেটা থাকে — visitor, তাদের ব্রাউজার, বা রিকোয়েস্ট নিজেই। এটাকে অন্ধভাবে বিশ্বাস করবেন না: একটি ফর্ম যা পাঠানোর জন্য ডিজাইন করা হয়েছিল তা যাই হোক না কেন, $_GET বা $_POST-এর একটি মান একেবারে যেকোনো কিছু হতে পারে, এমনকি ক্ষতিকর কিছুও। ভ্যালিডেশন আর সিকিউরিটি এই অংশের পরে নিজেদের আলাদা পাঠ পাবে।