Superglobal - $_GET

در PHP، $_GET یک Superglobal است که داده‌هایی که از طریق URL (Query String) ارسال می‌شوند را دریافت می‌کند.
این آرایه در همه جای برنامه قابل دسترسی است و نیازی به تعریف global ندارد.

1️⃣ ارسال داده‌ها از طریق URL

مثال URL:

http://example.com/test.php?name=Ali&age=25

دسترسی به داده‌ها با $_GET:

<?php echo "Name: " . $_GET['name'] . "<br>"; echo "Age: " . $_GET['age']; ?>

📌 خروجی:

Name: Ali Age: 25

2️⃣ استفاده از فرم HTML با متد GET

<?php if(isset($_GET['submit'])){ $search = $_GET['search']; echo "You searched for: " . htmlspecialchars($search); } ?> <form method="get" action=""> Search: <input type="text" name="search"> <input type="submit" name="submit" value="Search"> </form>

🔹 داده‌ها بعد از ارسال در URL نمایش داده می‌شوند، برای مثال:

?search=PHP

3️⃣ ویژگی‌های $_GET

  • داده‌ها در URL نمایش داده می‌شوند → مناسب برای جستجو و لینک‌دهی.

  • داده‌های کوتاه و غیرحساس مناسب هستند.

  • با isset() بررسی شود تا خطا پیش نیاید.

  • همیشه داده‌ها را با htmlspecialchars() یا filter_input() پاکسازی و validate کنید.

4️⃣ دسترسی به تمام داده‌های GET

<?php print_r($_GET); ?>

اگر فرم زیر ارسال شود یا URL:

?name=Ali&age=25

خروجی:

Array ( [name] => Ali [age] => 25 )

📌 تفاوت با $_POST

ویژگی$_GET$_POST
ارسال دادهURLبدنه درخواست
امنیتکمتر (نمایش در URL)بیشتر (مخفی)
طول دادهمحدودطولانی‌تر قابل قبول
مناسب برایجستجو، لینکفرم‌های ورود، ثبت نام