فرم و درخواست
·
۹ دقیقه مطالعه
Superglobals: GET، POST و SERVER
PHP چند آرایهٔ سراسریِ آماده دارد که همهجا در دسترساند:
$_GET— دادههای query string (?q=...)$_POST— دادههای فرمِ POST$_SERVER— اطلاعات سرور و درخواست$_FILES— فایلهای آپلودی$_SESSION,$_COOKIE
خواندن GET
آدرس: search.php?q=laravel
$query = $_GET['q'] ?? ''; // ?? اگر نبود، خالی
echo "جستوجو: " . htmlspecialchars($query);
خواندن POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$email = $_POST['email'] ?? '';
}
اطلاعات SERVER
$_SERVER['REQUEST_METHOD']; // GET یا POST
$_SERVER['REQUEST_URI']; // آدرس
$_SERVER['REMOTE_ADDR']; // IP کاربر
⚠️ قانون طلایی امنیت
هرگز به ورودی کاربر اعتماد نکن. همیشه:
- وجودش را چک کن (
?? ''). - هنگام نمایش، escape کن (
htmlspecialchars). - هنگام کوئری، از prepared statement استفاده کن.
GET برای خواندن (جستوجو)، POST برای تغییر (ثبت، ورود).