</>مدرسه زیب‌موجیاد بگیر، تمرین کن، بساز
مدرسهPHPدرس 4
درس 4 از 8 · ۴۵ دقیقه

فرم و داده‌های GET و POST

می‌فهمی فرم چگونه داده را به PHP می‌رساند، GET و POST چه تفاوتی دارند و چرا ورودی کاربر باید اعتبارسنجی و پاک‌سازی شود.

۰امتیاز شما
نقشه این درس

بعد از این درس دقیقاً چه بلدی؟

  • GET و POST را درست انتخاب کنی
  • وجود و اعتبار ورودی را بررسی کنی
  • خروجی را برای نمایش امن کنی
به زبان زندگی واقعی

فرم مثل برگه ثبت‌نام است

نوشتن اطلاعات روی برگه کافی نیست؛ مسئول ثبت‌نام باید بررسی کند نام خالی نباشد و ایمیل شکل درستی داشته باشد. PHP همان مسئول دقیق پشت پیشخوان است.

نکته مهم برای شروع PHP

GET برای دریافت و جست‌وجو: داده در نشانی دیده می‌شود و لینک قابل اشتراک است؛ برای فیلتر و جست‌وجو مناسب است، نه اطلاعات حساس.

چرا مهم است؟ داده در نشانی دیده می‌شود و لینک قابل اشتراک است؛ برای فیلتر و جست‌وجو مناسب است، نه اطلاعات حساس.

اولین تمرین تو: مقدار $name را خالی کن و پیام خطا را ببین. سپس پیام خطا را دوستانه‌تر بنویس.

مفهوم‌های اصلی

اول بفهم، بعد کد بنویس

GET برای دریافت و جست‌وجو

داده در نشانی دیده می‌شود و لینک قابل اشتراک است؛ برای فیلتر و جست‌وجو مناسب است، نه اطلاعات حساس.

POST برای ایجاد یا تغییر

داده داخل بدنه درخواست می‌رود؛ برای ثبت فرم مناسب‌تر است، اما به‌تنهایی رمزنگاری یا امنیت ایجاد نمی‌کند.

اعتبارسنجی و Escape

اول ورودی را از نظر نوع و قواعد کسب‌وکار بررسی کن؛ هنگام نمایش از تابع مناسب مانند htmlspecialchars استفاده کن.

سناریوی واقعی

مثال واقعی: ثبت‌نام در دوره PHP

کاربر نام و ایمیل را وارد می‌کند. نمونه مرورگر ورودی دریافت‌شده را شبیه‌سازی می‌کند تا منطق بررسی فرم را بدون ارسال اطلاعات واقعی تمرین کنی.

ورودی روشنقانون قابل توضیحخروجی قابل بررسی
بازی ساختن کد

قطعه‌ها را به ترتیب درست بچین

روی هر قطعه بزن تا وارد پاسخ شود؛ برای برگرداندن دوباره روی آن بزن. با دکمه‌های جابه‌جایی هم می‌توانی بدون کشیدن و رهاکردن ترتیب را اصلاح کنی.

مرحله ۲ از ۳ · مرتب‌کردن کد
بانک قطعه‌هاقطعه مناسب را انتخاب کن
ترتیب پاسخ تواز بالا به پایین اجرا می‌شود

    هنوز پاسخی بررسی نشده است.

    کارگاه تعاملی

    کد را تغییر بده و نتیجه واقعی را ببین

    این مفسر آموزشی امن، بخش پایه PHP شامل متغیر، محاسبه، رشته، آرایه، تابع‌های ساده و if/else را در مرورگر اجرا می‌کند. کد به سرویس دیگری ارسال نمی‌شود.

    lesson-4.php
    خروجی برنامهمفسر آماده است
    برای دیدن نتیجه، «اجرای کد» را بزن.
    خروجی با تغییر کد دوباره محاسبه می‌شود.
    حالا نوبت توست

    مقدار $name را خالی کن و پیام خطا را ببین. سپس پیام خطا را دوستانه‌تر بنویس.

    نسخهٔ پروژه واقعی

    این بخش روی سرور چگونه نوشته می‌شود؟

    در سرور واقعی، مقدار از $_POST می‌آید. trim فاصله اضافی را می‌گیرد و htmlspecialchars هنگام نمایش، نویسه‌های HTML را بی‌خطر می‌کند. این دو کار جای اعتبارسنجی را نمی‌گیرند.

    PHP · Server example
    <?php
    $name = trim($_POST["name"] ?? "");
    $safeName = htmlspecialchars($name, ENT_QUOTES, "UTF-8");
    echo $safeName;
    دام‌های رایج

    این سه اشتباه را انجام نده

    1

    اعتماد مستقیم به $_POST و $_GET

    2

    نمایش ورودی خام داخل HTML

    3

    تصور اینکه POST اطلاعات را خودکار امن یا مخفی می‌کند

    آزمون پایان درس

    5 پرسش کوتاه؛ مطمئن شو واقعاً یاد گرفته‌ای

    برای هر پرسش یک پاسخ انتخاب کن. بعد از هر انتخاب، دلیل پاسخ را همان‌جا می‌بینی.

    پرسش 1 از 5

    برای صفحه جست‌وجویی که باید لینک آن قابل اشتراک باشد، کدام روش بهتر است؟

    پرسش 2 از 5

    ورودی فرم را کجا باید اعتبارسنجی کنیم؟

    پرسش 3 از 5

    برای نمایش امن نام کاربر داخل HTML کدام ابزار مناسب است؟

    پرسش 4 از 5

    کدام روش نشان می‌دهد این درس را واقعاً فهمیده‌ای؟

    پرسش 5 از 5

    کدام رفتار احتمال خطا را در همین موضوع بیشتر می‌کند؟

    پایان درس 4

    درس را فقط وقتی تمام کن که کد را تغییر داده‌ای

    دیدن آموزش کافی نیست؛ یک مقدار را تغییر بده، خروجی را پیش‌بینی کن و بعد اجرا بزن.