Superglobals

آشنایی با متغیرهای Superglobal در PHP — $_SERVER، $_GET، $_POST، $_SESSION و $_COOKIE

Superglobal چیست؟

Superglobals متغیرهای خاصی هستند که در تمام بخش‌های کد قابل دسترسی هستند — داخل توابع، کلاس‌ها و فایل‌ها. نیازی به global ندارند.

فهرست Superglobals

متغیرتوضیح
$GLOBALSتمام متغیرهای سراسری
$_SERVERاطلاعات سرور و درخواست
$_GETداده‌های URL (query string)
$_POSTداده‌های فرم (POST)
$_REQUESTترکیب GET + POST + COOKIE
$_SESSIONمتغیرهای سشن
$_COOKIEکوکی‌های مرورگر
$_FILESفایل‌های آپلود شده
$_ENVمتغیرهای محیط

$_SERVER — اطلاعات سرور

اطلاعاتی درباره سرور و درخواست کاربر:

<?php
echo $_SERVER["SERVER_NAME"];    // نام سرور
echo $_SERVER["HTTP_HOST"];      // هاست
echo $_SERVER["REQUEST_URI"];    // آدرس درخواست
echo $_SERVER["REQUEST_METHOD"]; // روش (GET, POST)
echo $_SERVER["REMOTE_ADDR"];    // IP کاربر
echo $_SERVER["HTTP_USER_AGENT"];// مرورگر کاربر
?>

$_GET — داده‌های URL

وقتی داده‌ها در URL ارسال می‌شوند:

// URL: page.php?name=ali&age=25

<?php
echo $_GET["name"];  // ali
echo $_GET["age"];   // 25
?>
داده‌های $_GET در URL قابل مشاهده هستند. برای اطلاعات حساس (رمز عبور) هرگز از GET استفاده نکنید!

$_POST — داده‌های فرم

وقتی فرم با روش POST ارسال می‌شود:

<form method="POST" action="process.php">
    <input type="text" name="username">
    <input type="password" name="password">
    <button type="submit">ارسال</button>
</form>

<?php
// process.php
echo $_POST["username"];
echo $_POST["password"];
?>

$_SESSION — سشن کاربر

سشن برای ذخیره اطلاعات کاربر بین صفحات استفاده می‌شود:

<?php
// شروع سشن
session_start();

// ذخیره اطلاعات
$_SESSION["username"] = "علی";
$_SESSION["role"] = "admin";

// در صفحه دیگر
echo $_SESSION["username"];  // علی

// حذف سشن
session_destroy();
?>

$_COOKIE — کوکی‌ها

کوکی اطلاعات را در مرورگر کاربر ذخیره می‌کند:

<?php
// تنظیم کوکی (۱ روز)
setcookie("username", "علی", time() + 86400);

// خواندن کوکی
echo $_COOKIE["username"];  // علی

// حذف کوکی
setcookie("username", "", time() - 3600);
?>

امنیت — همیشه داده‌ها را پاک‌سازی کنید!

هرگز داده‌های کاربر را بدون پاک‌سازی استفاده نکنید!

// ❌ خطرناک
echo $_GET["name"];

// ✅ امن
echo htmlspecialchars($_GET["name"]);

این مبحث بخشی از دوره آموزش کامل PHP است.

ابزارهای مرتبط