PDA

View Full Version : بازگشت مقادیر در هنگام بسته شدن صفحه



stealer2007
جمعه 01 آبان 1388, 10:56 صبح
به نام خدا

سلام دوستااااااااااااااااااااا ااااااااااااااااااااااااا اااااان مخلصم

آقا ما یه صفحه PHP داریم طرف Login میکنه و وارد صفحه ما میشه یه بچه Query اجرا میشه و یه سری مقادیر رو به Database اضاف میکنه ،............

حالا من یه دکمه طراحی کردم که وقتی طرف Login می کنه و میاد داخل Page فعال میشه و نوشته خروج اگه روی این خروج یه بچه Query دیگه اجرا میشه و اون مقادیر رو بر میگردونه به حالت اولش خوب تا اینجا مشکلی نبود حالا اگه طرف روی دکمه کلیک نکرد و صفحه رو به صورت عادی بست ( کلیک بر روی ضربدر بالای صفحه ) چطوری من Query بگیرم و مقادیر رو برگردونم :گریه::گریه::گریه::گریه:.

حالا اگر طرف صفحه رو به این روش بست چطور ( Ctrl + Alt + Delete ) :متفکر::متفکر::متفکر::متفکر:.

اجبا

دمتون گرم

یا حق

mahmood3d
جمعه 01 آبان 1388, 11:55 صبح
سلام
من دقیقا متوجه نشدم شما چکار می خواید انجام بدین ولی برای لاگین کردن می تونید از سشن استفاده کنین و هر زمانی که خواستین سشن رو از بین ببرین. اصولا از سشن ها زمانی استفاده می شه که بخواین یک سری اطلاعاتتون حتی با بسته شدن صفحه از بین نره ولی اگه خواستین مقادیر داخل سشن رو با بستن صفحه از بین ببرین فکر کنم تو بخش unload فرومتون بتونین مقادیر سشن رو از بین ببرین.
البته من خودم این کار رو انجام ندادم و فکر نمی کنم اصولی هم باشه چون ممکنه طرف دوباره بخواد با باز کردن صفحه اطلاعات مربوط به خودش رو ببینه.
اگه شما برای امنیت بیشتر می خواید این کار رو انجام بدین به نظر ست کردن تایم اوت فکر خوبی باشه. یعنی سشن های مربوطه بعد از مدتی از بین برن.

stealer2007
جمعه 01 آبان 1388, 12:44 عصر
به نام خدا

چاکرم محمود جون ( چایی نخورده پسر خاله شدیم :اشتباه: )

ببینید من یه دکمه گذاشتم که وقتی روش کلیک می کنم یه مقداری رو توی دیتابیس ذخیره می کنم حالا می خوام کاربر روی دکمه خروج کلیک کرد اون مقدار ثبت بشه و اگه بطور معمولی پنجره IE رو بست مقدار از دیتابیس پاک بشه یا در واقع یه Query اجرا بشه.

فکر کنم از Unload بشه استفاده کرد ولی یه مشکلی که پیش میاد اینه که اگه کاربر دکمه های Ctrl+Alt+Delete رو زد و پنجره رو بست دیگه Method , Unload اجرا نمیشه:افسرده:.

متوجه شدید؟:بامزه:

امیـرحسین
جمعه 01 آبان 1388, 13:36 عصر
شاید این تابع به درد بخوره: session_set_save_handler
از اونجاییکه session بالاخره expire میشه، تابع destroy هم بالاخره اجرا میشه. نمی دونم.
اگر با همین تابع، session ها رو توی دیتابیس ذخیره کنید، همه مشکلات حل میشه. اونجوری می تونید توسط یه اسکریپت، sessionهایی که حذف شدند ولی در دیتابیس هستند رو پاکسازی کرد....

موفق باشید

stealer2007
جمعه 01 آبان 1388, 14:35 عصر
منظورتون رو واضح متوجه نشدم.
فکر نکنم راهی باشه؟ داره گریم میگیره

امیـرحسین
شنبه 02 آبان 1388, 01:21 صبح
من حدس می زنم که انقضای سشنها، در سرور باشه (که منطقیش همینطوره) یعنی مهم نیست که کاربر باشه یا نه، اگر زمان انقضای سشن گذشت و درخواستی به سرور نیومد، سرور خودش سشنها رو منقضی می کنه. این یعنی همیشه عملیات destroy انجام میگیره چه دستی (logout) و چه بدون logout توسط سرور.
با این تفاسیر، تابع session_set_save_handler (http://ir.php.net/manual-lookup.php?pattern=session_set_save_handler&src=) که میشه باهاش تابع destroy ساخت (مثالش رو تو لینک ببینید)، کدهای مربوط به destroy رو همیشه اجرا خواهد کرد. یعنی هر وقت سشنها بخواد منقضی بشن چه توسط کاربر چه بصورت عادی.
اینا نظریه است. تست کنید و نتیجه اش رو اینجا هم بذارید.

stealer2007
یک شنبه 03 آبان 1388, 20:19 عصر
به نام خدا

سلااااااااااااااااااااااا ااااااااااااااااام همه عزیزانم.

آقا من یه مدت نبودم یه تست میزنم خبرتون میدم.

در مورد این سوال دوستمون در مورد بچه Query باید بگم که :

در حقیقت Query هایی هست که کوچک هستن مثلا یه SELECT ساده نه تو در تو.

اصطلاح رو خودم می گم یه چیز جهانی نیستااااااااااااااااااااا ا حاجی حواست باشه.

نوکرتونم.

یا حق

yaqubian
دوشنبه 04 آبان 1388, 00:07 صبح
دوست عزیز
همونطور که امیرحسین عزیز فرمودن شما تنها راهی که دارین اینه که سشن هاتون رو در DB نگهداری کنید.
خیلی وقت ها باید برای گرفتن نتیجه بهتر شیوه برنامه نویسی خودمون رو تغییر بدیم.
موفق باشید

امیـرحسین
دوشنبه 04 آبان 1388, 00:42 صبح
:متفکر:
لطفا در مورد دستور و یا کد و یا اصطلاح " بچه کوئری " یه توضیحی بدید , برادر عزیز من !
:قهقهه:
این بچه کوئری خیلی باحال بود. من ازش استفاده می کنم :لبخند:
طرح برتر جان خیلی خوب گرفتیش.

stealer2007
دوشنبه 04 آبان 1388, 01:50 صبح
به نام خودش

بچه ها دمتون گرم من خیلی گیج شدم اصلا نمی دونم چیکار کنم کمک کنید.



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


کمک کنید ایول