آموزش PHP > راهکارهای موثر در PHP > راهکار 1 : ثبت نام و شناسایی
کاربران در وب سایت ها
بخش سوم - طراحی کوکی لازم برای حفط مشخصات کاربر
مرحله اول - مقدمه و معرفی پایگاه داده :
هنگامی که کاربر مشخصات خود را وارد نموده و به سایت در اصطلاح log in می کند ، بایستی
مشخصات آن را به نحوی بر روی مرورگر ذخیره کرد تا در هنگام پیمایش بین صفحات مختلف
مجبور نباشد ، مجددا اطلاعات کاربری خود را وارد نماید .
در صفحات HTML یا PHP برای ذخیره اطلاعات موقتی بر روی مرورگر کاربر از کوکی
ها یا Session ها استفاده می شود .
Session یک متغیر است که اطلاعات مورد نظر ما را برای مدت زمان مشخصی بر روی کامپیوتر
کاربر ذخیره می کند . معمولا با بستن مرورگر ، اطلاعات Session نیز از بین می رود .
در کد صفحه login.php که در مرحله قبل به بررسی آن پرداختیم ، بخشی برای ایجاد و ذخیره
اطلاعات به وسیله Session نیز وجود داشت که در ادامه به تشریح آن می پردازیم . این
بخش به صورت زیر است :
|
کد
|
if ($num_rows > 0) {
session_start();
$_SESSION['login'] = "1";
header ("Location: page1.php");
}
else {
$errorMessage = "Invalid Login";
session_start();
$_SESSION['login'] = '';
}
|
به وسیله دستور زیر ، عملیات Session شروع می شود :
سپس به وسیله دستور زیر و تعیین نام Session ، همانند یک متغیر نام مورد نظر خود یعنی
login و مقدار 1 را برای آن تعیین می کنیم :
|
کد
|
$_SESSION['login'] = "1";
|
همانطور که متوجه شدید ، این بخش از کد زمانی اجرا می شود که کاربر به صورت موفقیت
آمیز به سایت log in کرده باشد .
سپس به وسیله دستور header ، کاربر را به صفحه ای می خواهیم تا پس از log in به سایت
مشاهده نماید ، راهنمایی می کنیم . این دستور به شکل زیر است :
|
کد
|
header ("Location: page1.php");
|
حال اگر ورود کاربر به سایت موفقیت آمیز نباشد ، بخش else دستور به صوزت زیر اجرا می
شود :
|
کد
|
else {
$errorMessage = "Invalid Login";
session_start();
$_SESSION['login'] = '';
}
|
در خط اول ، یک پیام خطا به نشانه ورود ناموفق به متغیر خطای صفحه اضافه می شود . سپس
مجددا متغیر Session را اجرا می کنیم . این بار نیز ، نام login را به متغیر Session
داده ولی مقدار آن را خالی تعیین می کنیم ، به معنای اینکه کاربر نتوانسته وارد سایت
شود .
|
کد
|
$_SESSION['login'] = '' ";
|
با مقدار خالی ای که به متغیر Session داده ایم ، اگر کاربر بخواهد به بخش های محدود
شده و متعلق به اعضای سایت وارد شود ، برنامه جلوی وی را گرفته و وی را به صفحه login
( برای ورود به سایت ) هدایت می کند .
نکته مهم : اگر قابلیت کوکی ، بر روی مرورگر شما غیر فعال باشد ،
کدهای فوق اجرا نخواهد شد . این مسئله به آن دلیل است که در هنگام اجرای دستور ( )
Session_Start ، موتور PHP یک پارامتر را به نام Session ID به مرورگر ارسال می کند
. این پارامتر شامل رشته ای از حروف و اعداد بوده و PHP سعی می کند تا آن را بر روی
حافظه مرورگر ذخیره کند . اما اگر قابلیت کوکی خاموش باشد ، PHP امکان ذخیره این پارامتر
را نخواهد داشت .
خلاصه و جمع بندی :
کارهایی که تا این بخش از راهکار انجام دادیم ، عبارتند بودند از :
- دریافت مقادیر username و password از کادرهای متن مربوطه در فرم HTML .
- ایجاد و برقراری یک ارتباط فعال با پایگاه داده .
- چک کردن وجود یا عدم وجود اطلاعات کاربری کاربر .
- چک کردن اینکه آیا رکوردی در جواب برگشتی از پایگاه داده وجود داشته یا خیر .
- اگر رکورد یا رکوردهایی از جدول بازگردانده شده ، مقدار متغیر Session را بر روی 1
تنظیم کنیم .
- اگر رکوردی از پایگاه داده بازگشت داده نشده ، مقدار متغیر Session را بر روی مقدار
خالی " " تنظیم کنیم .
- طراحی و نمایش پیام های لازم در هنگام بروز خطا .
اما نکته بعدی در هنگام کار با سیستم عضویت و متغیرهای Session ، این است که هنگامی
که کاربر به صفحه دیگری می رود ، Session و هویت وی نگهداری شده و مورد استفاده قرار بگیرد
. این مطالب را در بخش بعدی راهکار نمایش خواهیم داد .
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه :