منع الإدخالات المتعددة عند تقديم النموذج في PHP
يمكن أن تحدث عمليات إدراج متعددة عند إرسال نموذج عندما يضغط المستخدم على زر الإرسال عدة مرات. يمكن أن يؤدي هذا إلى تكرار البيانات غير المقصودة. هناك عدة طرق لمعالجة هذه المشكلة:
تعطيل زر إرسال جافا سكريبت:
تستخدم هذه الطريقة جافا سكريبت لتعطيل زر الإرسال بعد أن يتم تشغيله. تم النقر عليه. ومع ذلك، فهي غير موثوقة حيث يمكن إرسال النماذج دون استخدام الزر أو مع تعطيل JavaScript.
الطابع الزمني لجلسة PHP:
هذا النهج يضبط متغير الجلسة ($_SESSION['posttimer']) على الطابع الزمني الحالي عند إرسال النموذج. أثناء معالجة النموذج، يتحقق من وجود المتغير ويقارنه بالطابع الزمني الحالي. إذا كان الفارق الزمني أقل من عتبة محددة مسبقًا (على سبيل المثال، ثانيتان)، فسيتم اكتشاف إرسال مزدوج.
إدراج الرمز المميز الفريد:
]تتضمن هذه الطريقة تضمين رمز مميز فريد في كل نموذج. يحمل متغير الجلسة الرمز المميز المستخدم في النموذج. عند إرسال النموذج، يتم إنشاء رمز مميز جديد. إذا كان الرمز المميز المقدم لا يتطابق مع الرمز المميز للجلسة، فسيتم اعتباره إرسالًا مزدوجًا. مثال:
// form.php
$_SESSION['token'] = md5(session_id() . time());
echo '';
// foo.php
if (isset($_SESSION['token'])) {
if (isset($_POST['token']) && $_POST['token'] != $_SESSION['token']) {
// Double submit detected
}
}
من خلال تنفيذ إحدى هذه الطرق، يمكنك منع عمليات الإدراج المتعددة بشكل فعال عند إرسال النماذج في PHP، مما يضمن سلامة البيانات وتجنب التكرار غير المقصود.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3