استفسار عن نظام cookies
السلام عليكم ورحمة الله وبركاته
استفسارى عن نظام الكويكز وازاى اركبه فى سكربت يعنى شرح لتركيبه وشكرا
2 إجابات
أنا سأشرح لك طريقة مميزة واريد راي الجميع فيها استعملتها امس في سكريبتي
و اظنها مضمونة وهي المرور من الكوكيز الى الجلسات كلنا نعرف ان الجلسات افضل و احسن لكن مدتها تنتهي بانتهاء اغلاق المتصفح اول شيء عند عملية تسجيل الدخول راح نضع في بداية الصفحة ob_start(); session_start();و بالاسفل يعني آخر الفوتر نضع ob_end_flush();هذا حتى يشتغل نظام الجلسات و لا يقع تداخل مع الستايل نفترض انه تم التحقق من الاسم و اليوزر اول شيء راح نضع عند تسجيل الدخول قائمة checkbox لو العضو عاوز يسجل الكوكيز في هذا الجهاز او لا $saveme = $_POST["wpRemember"];سنضع شرط اذا تم الضغط على القائمة صح if($saveme){العديد من الاشخاص يحفضون كلمة المرور و اليوزر في الكوكيز لكنني افضل توليد رقم عشوائي و حفظه لزيادة الحماية و سنستعمل كود التالي لتوليده $digest = sha1(strval(rand(0,microtime(true)) + $nname + strval(microtime(true))));حيث المتغير $nnameهو اليوزر المستخدم الآن سنحفظ الرقم العشوائي بقاعدة البيانات و كذلك بالكوكيز mysql_query('UPDATE users SET logdis="'.$digest.'" WHERE username="'.$nname.'"'); setcookie( 'relogin', $digest, time()+60*60*24*7);و كذلك سنحفظ رقم المستخدم في الجلسة $_SESSION['iduser'] = $id_user;وهو الذي سنعمل به في الموقع في حالة اغلاق المتصفح و فتح الموقع من جديد راح نتأكد الاول هل الكوكيز متطابق ام لا اول شيء نستخرج قيمة الكوكيز و نحميها من اي اكواد خبيثة $digest = $_COOKIE['relogin']; $digest = mysql_real_escape_string($digest);تم نقوم بالبحث عن ايدي العضو المطابق للكوكيز و اذا كان موجود يقوم بالمرور الى نظام الجلسات $result = mysql_query('SELECT id FROM m8_users WHERE logdis="'.$digest.'"'); if(mysql_num_rows($result) == 1){ $iduser = mysql_fetch_assoc($result); $id_user = $iduser['id']; $_SESSION['iduser'] = $id_user; } اذا كان غير متطابق سيمر بنا الى صفحة تسجيل الدخول يمكن استعمال الطريقة ايضاً مع الستايل بتكوين جدول في قاعدة البيانات يعمل اسم الستايل نحن هنا وضعنا ايدي العضو و انت يمكنك استعمال الستايل بواسطة: anass 2 من 2 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا فكرة رائعة ، بارك الله فيك الف شكر اخى الكريم
السلام عليكم
استخدام دالة setcookie() سهل للغاية setcookie("TestCookie", "AWCORE", time()+3600);هذا يضع كوكيز تسمى TestCookie وتحمل القيمة AWCORE وتنتهى خلال ساعة اى 3600 ثانية + الوقت الحالى. ولاحضار القيمة نستعمل المصفوفة $_COOKIE['TestCookie'] مثال حفظ رقم الاستيل للعضو setcookie ("style", "5", time() + (7 * 24 * 60 * 60));الان قمنا بحفظ رقم الاستيل وهو 5 فى كوكيز تسمى style وعندما نأتى بهذه الكوكيز لنستعرض الموقع بالاستيل هذا للمستخدم المزروع الكوكيز بجهازه نستعمل $_COOKIE['style'] وعند مسح الكوكيز نستخدم نفس الدالة ولكن بقيمة فارغة setcookie ("style", "", time() - (7 * 24 * 60 * 60)); بواسطة: molhm 6 من 6 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا |
ماذا تقصد بكلمة الـ"الكويكز"
6 / يناير / 2012 الساعة 21:46
Cookies
6 / يناير / 2012 الساعة 21:48
هذا ليس نظام ، الكوكيز عبارة عن جلسات طويلة المدى ، يعنى اقصد انك فى ماذا تريد استمالها؟
6 / يناير / 2012 الساعة 21:49
ان كنت تفصد استخدامها فى نظام الاعضاء اقراء هذا "كيفية عمل زر تذكرني عند تسجيل الدخول"
6 / يناير / 2012 الساعة 21:51
انا اريد استخدامها ليتذكر المتصفح مثلا الاستايل المستخدم او اذا كان المقال فى مفضلة العضو
او مغلق
6 / يناير / 2012 الساعة 21:53