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 است.