ساخت CMS ساده با PHP - قسمت 14 - اعتبار سنجی کاربران (قسمت آخر)

- visibility ۵۲ mode_comment

در ادامه آموزش ساخت CMS ساده با php در خدمت شما هستیم با با ایجاد صفحه لاگین و خروج کاربران و هم چنین اعتبار سنجی کابر مدیر برای ورود به بخش مدیریت.

در ابتدا توابعی رو در فایل functions ایجاد میکنیم،این توابع وظیفه چک کردن لاگین بودن کاربر رو بر عهده دارن.

تابع is_user_loggedin

این تابع چک میکنه که کاربر در سایت لاگین کرده یا نه و مقدار true یا false رو برای ما برمیگردونه.

خیلی ساده چک میکنه مقدار SESSION_$ برای uid ست شده یا نه و بر اساس اون true یا false رو برمیگردونه.

تابع is_user_admin

این تابع هم مقداری از سشن رو برای کلید is_admin چک میکنه و بر اساس اون مقدار true یا false رو برمیگردونه.

صفحه ورود 

خوب حالا بعد از تعریف این توابع باید صفحه لاگین رو ایجاد کنیم.برای این کار فایلی با نام signin.php در ریشه اصلی سایت ایجاد کنید.

ساختار این صفحه مشابه صفحات قبلی هستش اما خوب در بخش محتوا یه فرم برای لاگین کردن قرار میگیره.

با استفاده از تابع is_user_loggedin چک میکنیم کاربر قبلا لاگین کرده یا نه و اگه کرده باشه یه پیغام نشون میدیم و میگیم شما لاگین کردی 🙂

حالا در بالای صفحه کدهای زیر رو قرار میدیم.

بعد از ارسال فرم یه کوئری میزنیم و اطلاعات رو از جدول user میگیرم و حالا اگه تعداد سطر برگشتی دقیقا برابر 1 بود اونوقت کارهای لاگین رو انجام میدیم.یه سشن ایجاد می کنیم و شناسه کاربری رو توش ذخیره می کنیم و چک می کنیم اگه سطح کاربر برابر admin بود سشن is_admin رو براش ست کنه اونوقت با تابع redirect به صفحه مناسب هدایتش می کنیم.

اگر اطلاعات اشتباه بود متغییر های لازم مقدار دهی میشن و در بالای فرم پیغام خطا نمایش داده میشه.

در بخش منوی اصلی چک کردیم اگه کاربر لاگین کرده یه منو با لینک signout.php اضافه بشه که کاربر بتونه از سایت خارج بشه.

کدهای کامل صفحه ورود به این شکل در میاد.

صفحه خروج

فایلی با نام signout.php ایجاد کنید و کدهای زیر رو داخلش قرار بدین.

اگه کاربر لاگین نکرده باشه اونو به صفحه لاگین منتقل میکنیم (یا صفحه اول وب سایت) در غیر این صورت سشن رو خالی و نابود میکنیم و بعدشم منتقلش میکنیم.

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

کاربری که به عنوان مدیر وارد سایت شده باشه وقتی میخواد به صفحه مدیریت دسترسی داشته باشه باید اعتبار سنجی بشه برای اینکار ما کد زیر رو در بالای همه صفحات مدیریت اضافه میکنیم.

این یعنی اگه کاربر مدیر نباشه اونو به صفحه لاگین هدایت می کنیم.تنها کاری که باقی میمونه اینه که در بخش مدیریت لینک خروج رو برای صفحه signout تنظیم کنیم.

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

بابت تاخیر های به روز رسانی هم از همه کاربران عزیز عذرخواهی میکنم.موفق و پروز باشید.

comment دیدگاه کاربران
مرتضی داودی

با سلام
اگر بخواهیم نام کاربری یوزر وارد شده (لاگین کرده) را در داشبورد نمایش دهیم باید از چه کدی استفاده کنیم؟
با تشکر

کیوان علی محمدی

سلام. موقع لاگین این اطلاعات رو از دیتابیس بگیرین و داخل سشن بذارین و در هر صفحه ای خواستین نشون بدین.

مرتضی داودی

ممنون از پاسخ گوییتون
اما درست متوجه منظورتون نشدم اگر امکانش هست با کد نشون بدین
با تشکر

کیوان علی محمدی


if($user_is_logged_in){

$_SESSION['userFullName'] = $currentUser->getFullName();

}

سلام خواسته نباشید میشه نمایش مطالب صفحه اول رو صفحه بندی کرد یعنی بعد نمایش 10 پست بقیه تو صفحه دوم نمایش داد بشه ؟

کیوان علی محمدی

سلام بله با استفاده از یک کلاس pagination میشه همچین کاری کرد.

رسول رضایی

سلام. نام کاربری ورود به ادمین رو چجوری تعریف کنیم؟

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.
1 2 3