طريقة تفادي “إعادة إرسال طلب النموذج” عند عمل تحديث للصفحة

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

سأشرح بإذن الله في هذا الموضوع طريقة تفادي صندوق نص رسالة إعادة إرسال طلب النموذج عند برمجة صفحة بها نموذج بلفة الـ PHP وهذا النموذج يرسل الطلب إلى نفس صفحة النموذج . أي لنرى هذا المثال للتوضيح :

هذا الكود عبارة عن صفحة بها نموذج والنموذج به صندوق نص و زر ، والنموذج يرسل الطلب (action) إلى نفس الصفحة لذلك قمنا بتركها فارغة ، وطريقة الإرسال هي (post) . أي سيكون شكل الصفحة كهذا :

لنجرب الآن نستخدم النموذج :

بعد ذلك ، لنجرب الآن نعمل تحديث للصفحة ، ونشاهد ماذا يحدث :

كما هو ملاحظ ، عند عمل تحديث للصفحة أتت نافذة “إعادة إرسال طلب النموذج” وطبع لي القيمة المدخلة مسبقاً ، والسب في ذلك أن إرسال طلب النموذج يتم في نفس صفحة النموذج وكذلك باستخدام طريقة (post) في الارسال . وفي هذا الدرس سأشرح طريقة تفادي نموذج إعادة إرسال الطلب هذا .

طريقة الحل ، هو عمل صفحة جديدة يتم إرسال إليها الطلب ، ثم تقوم الصفحة باستقبال الطلب وتعالجه ثم ترد لنا بالنتيجة وتعيد توجيهنا إلى صفحة النموذج ، وبهذا الأسلوب سنتفادى نموذج “إعادة أرسال الطلب” عند عمل تحديث للصفحة .

نبدأ في تطبيق الحل على المثال السابق :

قمنا بعمل صفحة جديدة ، وسميتها (action_page1.php) . في هذه الصفحة سنستخدم الـ Session وهو أسلوب الرد على الطلب المستخدم هنا ، أي قمنا بحفظ نتيجة الطلب داخل متغير في الـ Session ثم بعد ذلك قمنا بعمل إعادة توجيه للصفحة الأولى التي بها النموذج . بعد ذلك نذهب إلى الصفحة الأولى ونعدلها كالتالي :

قمنا ياستدعاء الدالة (session_start) في بداية الصفحة لأننا سنستخدم متغيرات الـ Session . وأسفل النموذج قمنا بفحص مغير الـ Session الذي وضعناه كرد على الطلب المرسل من النموذج ، فإن لم يجد أن المتغير موجود فهذا يعني أنه لم يرسل الطلب بعد . وإن كان موجود سيطبع نتيجة الطلب ، ثم بعد ذلك يمسح متغير الـ Session الذي به الرد ليبدأ من جديد في العمل . والنتيجة ستصبح هكذا :

كما هو ملاحظ ، لم تظهر نافذة “إعادة إرسال طلب النموذج” بعد عمل تحديث للصفحة .

هذه بإختصار طريقة تفادي الرسالة السابقة ، ونلتقي في دروس قادمة بإذن الله .

بالتوفيق .

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

سأشرح بإذن الله في هذا الموضوع طريقة تفادي صندوق نص رسالة إعادة إرسال طلب النموذج عند برمجة صفحة بها نموذج بلفة الـ PHP وهذا النموذج يرسل الطلب إلى نفس صفحة النموذج . أي لنرى هذا المثال للتوضيح :

هذا الكود عبارة عن صفحة بها نموذج والنموذج به صندوق نص و زر ، والنموذج يرسل الطلب (action) إلى نفس الصفحة لذلك قمنا بتركها فارغة ، وطريقة الإرسال هي (post) . أي سيكون شكل الصفحة كهذا :

لنجرب الآن نستخدم النموذج :

بعد ذلك ، لنجرب الآن نعمل تحديث للصفحة ، ونشاهد ماذا يحدث :

كما هو ملاحظ ، عند عمل تحديث للصفحة أتت نافذة “إعادة إرسال طلب النموذج” وطبع لي القيمة المدخلة مسبقاً ، والسب في ذلك أن إرسال طلب النموذج يتم في نفس صفحة النموذج وكذلك باستخدام طريقة (post) في الارسال . وفي هذا الدرس سأشرح طريقة تفادي نموذج إعادة إرسال الطلب هذا .

طريقة الحل ، هو عمل صفحة جديدة يتم إرسال إليها الطلب ، ثم تقوم الصفحة باستقبال الطلب وتعالجه ثم ترد لنا بالنتيجة وتعيد توجيهنا إلى صفحة النموذج ، وبهذا الأسلوب سنتفادى نموذج “إعادة أرسال الطلب” عند عمل تحديث للصفحة .

نبدأ في تطبيق الحل على المثال السابق :

قمنا بعمل صفحة جديدة ، وسميتها (action_page1.php) . في هذه الصفحة سنستخدم الـ Session وهو أسلوب الرد على الطلب المستخدم هنا ، أي قمنا بحفظ نتيجة الطلب داخل متغير في الـ Session ثم بعد ذلك قمنا بعمل إعادة توجيه للصفحة الأولى التي بها النموذج . بعد ذلك نذهب إلى الصفحة الأولى ونعدلها كالتالي :

قمنا ياستدعاء الدالة (session_start) في بداية الصفحة لأننا سنستخدم متغيرات الـ Session . وأسفل النموذج قمنا بفحص مغير الـ Session الذي وضعناه كرد على الطلب المرسل من النموذج ، فإن لم يجد أن المتغير موجود فهذا يعني أنه لم يرسل الطلب بعد . وإن كان موجود سيطبع نتيجة الطلب ، ثم بعد ذلك يمسح متغير الـ Session الذي به الرد ليبدأ من جديد في العمل . والنتيجة ستصبح هكذا :

كما هو ملاحظ ، لم تظهر نافذة “إعادة إرسال طلب النموذج” بعد عمل تحديث للصفحة .

هذه بإختصار طريقة تفادي الرسالة السابقة ، ونلتقي في دروس قادمة بإذن الله .

بالتوفيق .

تدوينات متعلقة

اكتب تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *