درس ششم- ساخت و کار با فرم ها (پیشرفته)
در درس های قبلی با ساخت فرم آشنا شدیم و دیدیم که چطور می شود داده های فرم را به برگه دیگری انتقال داد.
در درس امروز می خواهیم این کار را به طور پیشرفته تری و با انجام این عمل در یک فایل انجام دهیم. منظور این است که گاهی شما نیاز دارید که داده ها را به برگه دیگری بفرستید اما زمانی هم است که بخواهید در یک برگه این داده ها را گرفته و نسبت به آن واکنشی نشان دهید. مهمتر از داشتن یک برگه یا دو برگه، شیوه واکنش به این داده ها براساس خود داده ها است و این هم می تواند تعریف دیگری از داشتن تارنمای پویا باشد.
کار با فرم در یک برگه
منظور
از این نوع عملکرد در ساخت فرم، داشتن «فرم» و «بررسی کننده» آن در یک
برگه است. این عمل فوایدی در بر خواهد داشت که در ادامه با آنها آشنا می
شویم. نکته مهم در داشتن هر دو فاکتور در یک برگه استفاده از یک تابع شرطی
برای ارزیابی عملکرد و نحوه کار با آن است. مثلا این تابع انتخاب می کند که
داده ها را نمایش دهد یا خود فرم را و این انتخاب را تحت چه شرایطی بگیرد.
در زیر به ساختار این تابع شرطی توجه کنید:
if ( /* فرم ارسال شد */){
// دستورات بررسی کننده فرم
} else {
// نمایش فرم
}
همانطور که مشاهده می کنید این شرطی، دو گزینه دارد. نخست اینکه آیا فرم ارسال شده که اگر ارسال شده باشد آن را بررسی می کند و دستورات داخل قطعه ابتدایی را انجام می دهد؛ دوم در صورت عمل ارسال فرم، به سراغ قطعه دوم رفته و فرم را نمایش می دهد. داشتن این شرطی برای ساخت فرم در یک برگه همراه بررسی و نمایش داده ها ضروری است.
شرط «فرم ارسال شد»
اگر یادتان باشد در درس های قبلی فرمی داشتیم که داده ها را به برگه دیگر انتقال می داد، اما چه زمانی این انتقال صورت می گیرد؟
در داخل هر فرم «دکمه ای» با نام ارسال یا Submit وجود دارد. «اگر فرم ارسال شد» یعنی اگر کاربر دکمه «ارسال» را بعد از پر کردن فرم فشار داد.
مثلا شرط مقابل را در نظر بگیرید:
if ( isset( $_POST['submit'] ) ) {
// دستورات کار با داده های فرم
} else {
// نمایش فرم }
تابع isset( $_POST['submit'] ) بررسی می کند که آیا دکمه ارسال یا Submit فشار داده شده است یا نه. از این تابع برای بررسی انتخاب یا عدم انتخاب دکمه ارسال فرم استفاده می شود.
بهتر است با ساخت فرمی این مفهوم را بیشتر بررسی کنیم. این فرم درست مانند فرم های درس های قبلی است با این تفاوت که از این فن جدید در آن استفاده می کنیم.