بعد از این درس دقیقاً چه بلدی؟
- موضوع «name attribute» را با زبان ساده برای فرد دیگری توضیح میدهی.
- مثال همین درس را خطبهخط میخوانی و خروجی آن را پیشبینی میکنی.
- کد را تغییر میدهی، نتیجه یا ساختار آن را بررسی میکنی و خطا را مرحلهای اصلاح میکنی.
برگه ثبتنام
هر خانه برگه یک برچسب دارد. مسئول ثبت، کاملبودن برگه را بررسی میکند و پس از ثبت رسید میدهد تا همان برگه دوباره تحویل نشود.
فرم داده را با نام فیلدها ارسال میکند. PHP باید نبودن فیلد، مقدار خالی و ارسال دوباره را مدیریت کند. پس از ثبت موفق Redirect از تکرار عملیات جلوگیری میکند.
چرا مهم است؟ این مفهوم یکی از آجرهای مسیر حرفهای PHP است. فعلاً لازم نیست همه جزئیات را حفظ کنی؛ باید دلیل استفاده و اثر هر خط را بفهمی.
اولین تمرین تو: ایمیل از فرم دریافت و بررسی میشود. پس از ذخیره، کاربر به صفحه موفقیت هدایت میشود.
اول بفهم، بعد کد بنویس
name attribute
کلیدی است که مقدار فیلد با آن در PHP دریافت میشود.
$_POST
داده فرم POST را در اختیار برنامه قرار میدهد.
PRG
پس از POST موفق Redirect میکند تا Refresh ثبت را تکرار نکند.
فرم ثبتنام خبرنامه
ایمیل از فرم دریافت و بررسی میشود. پس از ذخیره، کاربر به صفحه موفقیت هدایت میشود.
قطعهها را به ترتیب درست بچین
روی هر قطعه بزن تا وارد پاسخ شود؛ برای برگرداندن دوباره روی آن بزن. با دکمههای جابهجایی هم میتوانی بدون کشیدن و رهاکردن ترتیب را اصلاح کنی.
کد را کامل کن و ساختار آن را بررسی کن
این درس وارد قابلیتهای سروری یا حرفهای شده است. برای امنیت سایت، کد دلخواه روی سرور اجرا نمیشود؛ بررسیگر، وجود اجزای ضروری و منطق مورد انتظار را کنترل میکند و راهنمای اصلاح میدهد.
کد را کامل کن و «بررسی ساختار» را بزن.
این مثال خطبهخط چه میگوید؟
فعلاً حفظ نکن؛ هر خط را به یک جمله ساده تبدیل کن.
- 1
<?phpاز اینجا مفسر PHP شروع به خواندن کد میکند.
- 2
$email = trim($_POST["email"] ?? "");یک مقدار با نام $email نگهداری میشود تا در خطهای بعد دوباره استفاده شود.
- 3
if ($email === "") {یک پرسش درست/نادرست بررسی میشود و مسیر اجرای بعدی را تعیین میکند.
- 4
echo "ایمیل را وارد کن";نتیجه این عبارت به خروجی پاسخ فرستاده میشود.
- 5
} else {این خط بخشی از منطق اصلی مثال است؛ نامها و علامتها را از راست به چپ، بخشبهبخش بخوان.
- 6
echo htmlspecialchars($email, ENT_QUOTES, "UTF-8");نتیجه این عبارت به خروجی پاسخ فرستاده میشود.
- 7
}مرز یک بلوک یا فراخوانی در اینجا باز یا بسته میشود.
راهنماییها مرحلهای هستند؛ اول خودت پیام خطا را بخوان.
یک فیلد نام اضافه کن، مقدار قبلی را پس از خطا نگه دار و برای حالت موفق Redirect طراحی کن.
از ساده به چالشی، بدون پرش
یکی از مقدارهای مثال را عوض کن، خروجی را روی کاغذ حدس بزن و سپس بررسی کن.
یک فیلد نام اضافه کن، مقدار قبلی را پس از خطا نگه دار و برای حالت موفق Redirect طراحی کن.
سناریوی «فرم ثبتنام خبرنامه» را با نامهای واضحتر و یک حالت تازه گسترش بده.
این سه اشتباه را انجام نده
خواندن مستقیم کلیدی که ممکن است وجود نداشته باشد
ثبت دوباره فرم با Refresh
نمایش ورودی خام داخل HTML
5 پرسش کوتاه؛ مطمئن شو واقعاً یاد گرفتهای
برای هر پرسش یک پاسخ انتخاب کن. بعد از هر انتخاب، دلیل پاسخ را همانجا میبینی.
چرا پس از POST موفق Redirect میکنیم؟
کدام توضیح، «name attribute» را دقیقتر بیان میکند؟
بهترین قدم بعد از خواندن مثال این درس چیست؟
کدام روش نشان میدهد این درس را واقعاً فهمیدهای؟
کدام رفتار احتمال خطا را در همین موضوع بیشتر میکند؟
درس را فقط وقتی تمام کن که کد را تغییر دادهای
دیدن آموزش کافی نیست؛ یک مقدار را تغییر بده، خروجی را پیشبینی کن و بعد اجرا بزن.