جلسه سوم آموزش عملی ساخت پروژه پنل وب سایت شخصی با PHP
جلسه سوم آموزش عملی ساخت پروژه پنل وب سایت شخصی با PHP
توی جلسه پیش تا پنل ادمین پیش رفتیم و سشن ورود رو مقدار دهی کردیم و خروج و ورود کاربر رو کار کردیم ؛ حالا برای پنل ادمین مواردی که نیاز داریم رو مرحله به مرحله به login.html اضافه می کنیم و صفحه مربوط به اون هم درست می کنیم.
قبل از هر چیز باید کاری کنیم تا برای تمام صفحات اگر کاربر لاگین بود ؛ محتویات به اون نمایش داده بشه .
فرض کنید بدون ورود به پنل شخصی آدرس صفحه رو داشته باشه پس اگر لاگین رو توی تمام صفحات چک نکنیم ؛ اون شخص به اطلاعات حساس دسترسی پیدا می کنه
مکانیزم این مورد که توی تمام صفحات چک کنیم کاربر وارد شده یا نه سخته ؛ پس باید حرکت واحدی انجام بدیم تا لازم نباشه توی تک تک صفحات اونو تکرار کنیم . برای همین یک صفحه php با نام checklogin.php می سازیم که توی اون کد های زیر رو وارد کنید .
توضیح کد بالا :
ابتدای کد رو توضیح داده بودم ؛ و متوجه شدید برای جلوگیری از خطای سشن و در واقع برای اینکه چند بار یه وقت سشن رو استارت نکنید و خطا بده بهتون
صفحه checklogin.php مثل پلی میان کاربر و صفحات ادمین است که چک میکنه تا کاربر لاگین کرده به اطلاعات دسترسی داشته باشه بنابر این باید قبل از محتویات صفحاتی مثل ارسال پست جدید باشد برای مثال صفحه newpost.php رو میسازیم و بعد از توضیح این کد میبینید که چطور در ابتدای newpost.php از checklogin.php استفاده می کنیم .
در کد های بالا ( checklogin.php ) هر جا که بررسی کردیم و فهمیدیم اطلاعات ورود ناقص است یا کاربر لاگین نکرده نباید اجازه ادامه بارگزاری صفحه رو داد برای این کار از تابع die استفاده می کنیم ؛ کار تابع die اینه که هر مقداری درونش قرار می گیرد را نمایش می دهد و در آخر مثل exit که توضیح دادم عمل می کنید پس ما چک می کنیم که سشن login چک شده یا نه اگر نشده بود با پیغام ؛ عدم اجازه دسترسی ؛ die می کنیم و در بهترین حالت اگر سشن لاگین ایجاد شده بود ولی احیانا مقدار درونش اونی نبود که باید باشه باز هم die می کنیم و در غیر این حالات کد این صفحه خروجی ندارد .
میریم سراغ صفحه newpost.php تا ببینیم برای مثال چطور کار میکنه ؛ قبلش این فایل رو بسازید و کدینگ اونو روی utf-8 بذارید ؛ در کد این صفحه بهتون توضیح میدم که چطور کد html رو قبل از php تنظیم کنید .
کد های صفحه newpost.php :
توضیح کد :
اول از همه بهتون میگم ک میتونید کد های پیش فرض html رو مثل تگ body و تگ های head که نیاز به تغییر ندارن رو قبل از شروع بلوک کد های php قرار بدین
پس قبل از اون متاتگ کدینگ صفحه رو قرار میدیم .
قسمت بعدی فرض کنید دستورات به جای اون echo قرار می گیرد پس قبل از انجام هر کاری باید بررسی کنیم کاربر دسترسی به صفحه مورد نظر رو داره پس صفحه checklogin رو قبل از کدهامون قرار میدیم برای تمام صفحات دیگه هم همین روند رو تکرار می کنیم و با این کار دیگه لازم نیست توی تمام فایل ها کد های چک کردن ادمین یا چک کردن مقادیر رو بنویسیم و یکبار برای همیشه اونو تغییر می دهیم .
نحوه عملکرد صفحه :
اگر کاربر لاگین نکرده باشه کد توی همون صفحه checklogin ؛ die میشه و ادامه کد ها و محتویات صفحه اجرا نمیشه حتی اگر بعد از بلوک php هم کد html بنویسید اون کد هم اجرا نمیشه
خب تا اینجای کار چیزایی که لازم داشتیم رو حدودی آماده کردیم بهتره بریم سراغ صفحه ساخت اولین پست .
چیزایی که برای ساخت صفحه جدید نیاز داریم یک دیزاین و یک منطق : این بار هم اینطوری باید عمل کنیم که فرمی رو ایجاد کنیم برای نوشتن پست جدید ؛ و بعد مقادیر رو که ارسال می کنیم با صفحه منطق پست ارسالی رو آنالیز می کنیم و نهایتا توی دیتابیس ذخیره می کنیم .
پس صفحه newpost.html رو با کد های زیر بسازید :
توی کد های بالا یک ظاهر ساده برای صفحه ارسال مطالب درست کردیم ؛ به یه نکته توجه داشته باشید که بهتره همیشه تاریخ و موارد اینچنین رو خود کاربر وارد کنه یا نهایتا شما برای راحتی کار از قبل پیش فرض اونو تنظیم کنید . توی دیتابیس هم دید که تاریخ رو فیلد عادی تعریف کردیم چون برای عملیات های متفاوت دست بازتری خواهیم داشت.
کد بالا رو که چیز جدید نداره و همرو توضیح دادم .
قسمت بعدی دریافت اطلاعات از صفحه ورودی و ذخیره اطلاعات است . فعلا به صورت ساده اطلاعات رو در دیتابیس ثبت خواهیم کرد تا بعدا تغییرات بیشتری رو اعمال کنیم .
پس صفحه newpost.php رو به صورت زیر تغییر میدیم :
توضیح کد های بالا :
ای کد ها رو توی newpost.php وارد کردیم ؛ یه نکته ای که خیلی بهش توجه کنید توی این کد ها اینه که برای تشخیص اینکه فرم ارسال شده یا نه فقط از یک متغیر $_POST[‘subject’] استفاده کردیم ؛ دلیل این کار اینه که شما مطمئن هستید زمانی که متغیر subject ارسال شده است متغیر های دیگه هم ارسال شده پس لازم نیست کار اضافی انجام بدین و فقط یکی رو چک کنید کافیه
و اما دقت کنید که اولین اصلی که باید توی تمام ارسال ها چک بشه خالی نبودن مقادیره این کار رو قبل از ارسال فرم با جاواسکریپت میشه انجام داد ولی اگر به هر دلیل کاربر غیر فعال کرده باشه قابل پیشگیری نیست پس حتما توی کد های php بررسی کنید .
بررسی های دیگه رو به تدریج کار میکنیم فعلا در همین حد کافیه که خالی نباشه و بعد در دیتابیس ذخیره کنیم .
آموزش های بعدی سریع تر کار ذخیره سازی توی دیتابیس و انواع کوئری و روش صحیح استفاده از کانکشن و برقراری ارتباط با دیتابیس و جلوگیری از خطاهای رایج رو یاد میگیرد تا بریم سر تغییر پست ها و کارهای پیشرفته تر نظیر ارتباط بین دیتابیس ها و تغییر دسته بندی و تگ گذاری روی مطالب و ...
پس این ساختار ها رو خوب یاد بگیرید که دیگه باید مثل موم توی دستتون باشه برای مطالب آینده
- توضیحات
- بازدید: 772
نظرات
- هیچ نظری یافت نشد.
نظر خود را اضافه نمایید
ارسال نظر به عنوان مهمان