التغطية المصورة ليوم سوالف: الجزء الأول، الجزء الأخير
الفائزون في المسابقة الأصغر لسوالف كاست

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو نشيط
تاريخ التسجيل: May 2006-
#1 (permalink)  
كيف ازرع صفا في قاعدة البيانات يحذف بانقضاء مدة معينة


السلام عليكم ورحمة الله وبركاته

نرى في بعض السكريبتات وخاصة التي تستعمل الجلسات وتخزنها في قواعد البيانات ان الصف الذي يتم زرعه في قاعدة البيانات والذي يحتوي لعى رقم الجلسة ومعلومات اخرى نرى انه يتم حذفه تلقائيا في حال اغلاق المستخدم للصفحة ومرور مدة معينة

وشكرا






i2h.org غير متواجد حالياً   قديم 02-08-2006, 05:19 AM
رد مع اقتباس
عضو جديد
تاريخ التسجيل: Jun 2005-
#2 (permalink)  

السلام عليكم و رحمة الله و بركاته

فى PHP4 من الممكن أستخدام الداله
كود:
session_set_save_handler()
el function deih beta7'od 6 parameters

open , close, read, write, destroy, and garbage_collector

Ok ,, What are these ,, These are 6 functions that u shall create !!,,

Like this
كود:
<?php
function open($save_path, $session_name)
{
  global $sess_save_path, $sess_session_name;
      
  $sess_save_path = $save_path;
  $sess_session_name = $session_name;
  return(true);
}

function close()
{
  return(true);
}

function read($id)
{
  global $sess_save_path, $sess_session_name;

  $sess_file = "$sess_save_path/sess_$id";
  if ($fp = @fopen($sess_file, "r")) {
   $sess_data = fread($fp, filesize($sess_file));
   return($sess_data);
  } else {
   return(""); // Must return "" here.
  }

}

function write($id, $sess_data)
{
  global $sess_save_path, $sess_session_name;

  $sess_file = "$sess_save_path/sess_$id";
  if ($fp = @fopen($sess_file, "w")) {
   return(fwrite($fp, $sess_data));
  } else {
   return(false);
  }

}

function destroy($id)
{
  global $sess_save_path, $sess_session_name;
      
  $sess_file = "$sess_save_path/sess_$id";
  return(@unlink($sess_file));
}

/*********************************************
 * WARNING - You will need to implement some *
 * sort of garbage collection routine here.  *
 *********************************************/
function gc($maxlifetime)
{
  return true;
}

session_set_save_handler("open", "close", "read", "write", "destroy", "gc");

session_start();

// proceed to use sessions normally

?>
Momken tel3'y kol el functions law t7eb ,,we testa7'dem el default functions be enak te7ot makan el functions elly enta 3awezha el handler beta3ha ,,3'eer keda ,,te7ot ""

so, If u want to code something that will execute when the session destroys ,, then u shall write this

كود:
function destroy($id)
{
  global $sess_save_path, $sess_session_name;
      
  $sess_file = "$sess_save_path/sess_$id";
  return(@unlink($sess_file));
} 
session_set_save_handler("", "", "", "", "desctoy", "");
but it is better to create them all ,, and know how they work

--------------------------------------

fe php 5 ,,,

it is Object Oriented, ,,

So ,, U can use the __destroy function in any class u use ,,

atmana eny akoon wasalt ay ma3loma

zxeem *






__________________
zxeem.net@gmail.com
No Hard غير متواجد حالياً   قديم 02-08-2006, 07:11 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Apr 2002-
#3 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة i2h.org
السلام عليكم ورحمة الله وبركاته

نرى في بعض السكريبتات وخاصة التي تستعمل الجلسات وتخزنها في قواعد البيانات ان الصف الذي يتم زرعه في قاعدة البيانات والذي يحتوي لعى رقم الجلسة ومعلومات اخرى نرى انه يتم حذفه تلقائيا في حال اغلاق المستخدم للصفحة ومرور مدة معينة

وشكرا
الطريقة بسيطة
مثلا في الفيبوليتن
يكون هناك عمود باسم dateline يحتوي على timestamp لآخر نشاط للعضو
ويتم وضع كود في الملف global.php
يقوم هذا الكود بالتحقق من قيم datelineفي جميع الصفوف
وحذف الصفوف التي تحتوي على قيمة أقل من limit$
حيث limit$ تساوي (الوقت الآن - مدة السيشن المحددة والتي يتم بعدها تسجيل الخروج التلقائي)

تحياتي






__________________
mahmoud009 سابقاً
منتدى بي اتش بي
فِكرة لتقنية المعلومات
فِكرة غير متواجد حالياً   قديم 02-08-2006, 03:42 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#4 (permalink)  

بارك الله فيك اخي No Hard
سؤالي لم يكن عن الجلسات ولكن عن كيفية زرع صف يحذف تلقائيا بعد مدة معينة وجئت بالجلسات كمثال فانا مبتدأ ولم افهم هذا الكود الذي وضعته بشكل جيد وعلى كل حال شكرا لك

اخي mahmoud009
فهمت من ردك ان الصف لن يحذف الا اذا تم تنفيذ الملف global?
هل لك ان تعطيني مثالا بسيطا لهذا الموضوع

وشكرا






i2h.org غير متواجد حالياً   قديم 03-08-2006, 06:56 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Apr 2002-
#5 (permalink)  

السلام عليكم

طبيعي في أي سكريبت يكون عندك ملف config.php
يوضع فيه بيانات الاتصال بقاعدة البيانات وما الى ذلك من متغيرات
ويتم تضمينه في جميع الملفات

وعندما تضع هذا الكود فيه
سيتم تنفيذه عند طلب أي صفحة في السكريبت
وهو المطلوب






__________________
mahmoud009 سابقاً
منتدى بي اتش بي
فِكرة لتقنية المعلومات
فِكرة غير متواجد حالياً   قديم 03-08-2006, 07:04 PM
رد مع اقتباس
رد


 

أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 04:16 AM بتوقيت المملكة العربية السعودية