الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف أحل مشكلة عدم تنفيذ جزء من كود صفحة عند تحديثها

مغلق
بدأه phpspider في 1 ديسمبر 2006 · 1 رد · 723 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الزملاء الكرام

إذا احتوت صفحة كود لحشر بيانات في قاعدة البيانات, عند تنفيذها لأول مرة تتم الإضافة و هو المطلوب..........لكن

إذا قام الزائر بتحديث الصفحة من شريط أدوات المستعرض.........كيف نوقف عملية الإضافة مرة ثانية....

أخوكم الحكيم

تم تعديل هذه المشاركة بواسطة phpspider في 1 ديسمبر 2006 في 21:01

بسم الله الرحمن الرحيم

و قل ربي زدني علماً

صدق الله العظيم

#2

معتقدش ان دة ممكن .

أو خاينى افكر معاك بصوت عالى من حبث انى عندى برد و مش ناوى اعمل حاجة تانية دلوقتى.

فى فكرة انه ممكن تمنع المستخدم من انه يضيف اكتر من مرة فى فترة زمنية ما (مثلا مرة\دقيقة).

زى فى المثال , لو استنى لمدة اكتر من دقيقة و بعد كدة عمل refresh يبقى كأننا معملناش حاجة.

عموما الفكرة دى كويسة فى الحد من مشكلة ان لو المستخدم ضغظ زر الأدخال مرتين ورة بعض من غير قصد.

-----

الفكرة الثانية , استخدم الـ tokens :

فى الـ session بتاعت المستخدم اعمل array سميها FormTokens مثلا و كل امة تعرض فورم للمستخدم , ضيف فى الفورم hidden input اسمه token و حط قيمته اى قيمة عشوائية صعب تكرارها , مثلا زى :

md5(time());

ممكن تعمل انت حاجة معقدة اقدر عشان محدش يعرف يخمنها بسهولة عشان لو حب يضرب الى انت عامله.

المهم, بعد كدة ضيف القيمة الى انت حتيطها فى الـ hidden input كعنصر فى مصفوفة FormTokens .

بعد مالمستخدم ميملء الفورم و يضغط ادخال , حتوصلك البيانات الى ادخالها و معاها الـ token , خد قيمة الـ token الى جيالك من المستخدم و اتأكد انها موجودة فى الـ FormTokens , فى حالة وجود الـ token , يبقى العملية سليمة و نفذ الى طلبه المستخدم و احذف الـ token دة من مصفوفة الـ FormTokens .

إذا حاول المستخدم انه يعمل refresh للصفحة من تانى يبقى حتترسل نفس البيانات القديمة مع نفس الـ token القديم , و ساعتها انت حتدور على الـ token فى الـ FormTokens كالعادة , بس مش حتلاقيه لأنك حذفته فى أول مرة , بالتالى بيبقى الباقى عليك هو انك توقف العملية .

الحل دة جيد جدا فى نظرى

Web Citizen

ShrefInLife.gif

__________

General blog : Shref In Life

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…