လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP anti-shake နည်းပညာ - တစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်းကထပ်ခါတလဲလဲဒေတာတင်ပြချက်ကိုရှောင်ရှားရန်

PHP anti-shake နည်းပညာ - တစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်းကထပ်ခါတလဲလဲဒေတာတင်ပြချက်ကိုရှောင်ရှားရန်

M66 2025-07-12

PHP anti-shake နည်းပညာ - တစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်းကထပ်ခါတလဲလဲဒေတာတင်ပြချက်ကိုရှောင်ရှားရန်

တစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်းဖြစ်ရပ်များတွင်အသုံးပြုသူများသည်ခလုတ်များကိုမကြာခဏနှိပ်ခြင်းသို့မဟုတ်တင်ထားသောပုံစံများကိုမကြာခဏနှိပ်နိုင်သည်။ ၎င်းသည်အချက်အလက်များကိုထပ်ခါတလဲလဲတင်ပြမှုများဖြစ်ပေါ်စေနိုင်သည်။ ဤပြ problem နာကိုထိထိရောက်ရောက်ဖြေရှင်းနိုင်ရန်ကျွန်ုပ်တို့သည် "ဆန့်ကျင်လှုပ်ခါ" ဟုခေါ်သောနည်းပညာကိုသုံးနိုင်သည်။ အသုံးပြုသူများကထပ်ခါတလဲလဲအစပျိုးမှုဖြစ်ရပ်များကြောင့်ဖြစ်ပေါ်လာသောတင်သွင်းမှုပြ issues နာများကိုမိတ္တူပွားခြင်းမှရှောင်ရှားရန်ဤနည်းပညာသည်ကျွန်ုပ်တို့အားကူညီနိုင်သည်။

ဆန့်ကျင်ဆန့်ကျင်ရေးနည်းပညာဆိုတာဘာလဲ။

ဆန့်ကျင်ရေးဆန့်ကျင်ရေးနည်းပညာသည်ဖြစ်ရပ်ပြုပြင်ထုတ်လုပ်သည့်ယန္တရားတစ်ခုဖြစ်သည်။ အချိန်ကာလအတွင်းနောက်တစ်ကြိမ်ထပ်မံပစ်ခတ်ခြင်းမပြုလုပ်သောအခါသက်ဆိုင်ရာစစ်ဆင်ရေးကိုသာပြုလုပ်လိမ့်မည်။ ဒေတာတင်သွင်းမှု၏ဖြစ်ရပ်တွင်ဤနည်းပညာသည်ခလုတ်များကိုနှိပ်ခြင်းသို့မဟုတ်လက်အောက်ခံခြင်းကိုအကြိမ်ကြိမ်နှိပ်သည့်အခါအသုံးပြုသောထပ်ခါတလဲလဲအချက်အလက်တင်ပြချက်ပြ problem နာကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။

PHP တွင်ဆန့်ကျင်ရေးဆန့်ကျင်ရေးနည်းပညာကိုအကောင်အထည်ဖော်ခြင်း

PHP တွင် anti-shake status ကို session နှင့် redis ကဲ့သို့သော cache ယန္တရားများမှတစ်ဆင့်မှတ်တမ်းတင်ခြင်းမပြုနိုင်ပါ။ ဤတွင် session ကိုအသုံးပြုပြီးဆန့်ကျင်သောလှုပ်သည့်အပြောင်းအလဲအတွက်နမူနာကုဒ်ဖြစ်သည်။

 <?php
// anti-shake အချိန်ကြားကာလ,စက္ကန့်အတွင်းယူနစ်
$debounceInterval = 5;

// cache key name
$cacheKey = 'submit_debounce_key';

// anti-shake အမှတ်အသားများကိုစစ်ဆေးပါ
if (!isset($_SESSION[$cacheKey])) {
    // ဒါမတည်ရှိပါက,ဆန့်ကျင်ဆန့်ကျင်အမှတ်အသားကိုသတ်မှတ်ပါ,နှင့်သက်တမ်းကုန်ဆုံးချိန်သတ်မှတ်ထားပါ
    $_SESSION[$cacheKey] = 1;
    $_SESSION[$cacheKey . '_expire'] = time() + $debounceInterval;
    // သက်ဆိုင်ရာစစ်ဆင်ရေးလုပ်ဆောင်ပါ
    // TODO: ထုတ်ယူခြင်းပုံစံတင်သွင်းမှုယုတ္တိဗေဒ
    // ရှင်းလင်းသောဆန့်ကျင်ရေးအမှတ်အသားများကိုရှင်းလင်းပါ
    unset($_SESSION[$cacheKey], $_SESSION[$cacheKey . '_expire']);
} else {
    // anti-shake အမှတ်အသားများတည်ရှိသည်,ဒါကြောင့်သက်တမ်းကုန်သွားပြီရှိမရှိဆုံးဖြတ်ပါ
    if ($_SESSION[$cacheKey . '_expire'] <= time()) {
        // ရှင်းရှင်းလင်းလင်းသက်တမ်းကုန်ဆုံး anti-shake အမှတ်အသားများ,ပြန်လည်တည်ဆောက်
        unset($_SESSION[$cacheKey], $_SESSION[$cacheKey . '_expire']);
        $_SESSION[$cacheKey] = 1;
        $_SESSION[$cacheKey . '_expire'] = time() + $debounceInterval;
        // သက်ဆိုင်ရာစစ်ဆင်ရေးလုပ်ဆောင်ပါ
        // TODO: ထုတ်ယူခြင်းပုံစံတင်သွင်းမှုယုတ္တိဗေဒ
        // ရှင်းလင်းသောဆန့်ကျင်ရေးအမှတ်အသားများကိုရှင်းလင်းပါ
        unset($_SESSION[$cacheKey], $_SESSION[$cacheKey . '_expire']);
    } else {
        // သက်တမ်းကုန်ဆုံးလျှင်,ဆိုလိုသည်မှာဤတောင်းဆိုမှုသည်ထပ်ခါတလဲလဲတင်သွင်းမှုဖြစ်သည်,အဘယ်သူမျှမအပြောင်းအလဲနဲ့ပြုမိနိုင်ပါတယ်,သို့မဟုတ်သက်ဆိုင်ရာချက်ချင်းသတင်းအချက်အလက်ပြန်သွားပါ
        echo 'ကျေးဇူးပြုပြီးတင်ပြချက်မလုပ်ပါနှင့်';
        exit;
    }
}
?>

ဤကျင့် 0 တ်ပါ 0 င်သည့်ဥပမာတွင်ကျွန်ုပ်တို့သည် anti-unti-for anttal `$ di diaboreinterval ကိုပထမ ဦး ဆုံးသတ်မှတ်ပြီး Cache Key Name` $ cacheekey`` ပထမ ဦး ဆုံးအကြိမ်ပုံစံကိုတင်ပြသည့်အခါစနစ်သည် system တွင် anti-shake အမှတ်အသားကိုသတ်မှတ်ပြီးအမှတ်အသားအတွက်သက်တမ်းကုန်ဆုံးချိန်ကိုသတ်မှတ်မည်။ နောက်တစ်ကြိမ်ပုံစံကိုတင်သွင်းသည့်အခါစနစ်သည်အေးဂျင့်ဆန့်ကျင်ရေးအမှတ်အသားတည်ရှိပြီးသက်တမ်းကုန်သွားမည်ကိုစစ်ဆေးလိမ့်မည်။ အကယ်. ၎င်းသည်သက်တမ်းကုန်ဆုံးလျှင်အမှတ်အသားကိုပြန်လည်သတ်မှတ်ပြီးပုံစံတင်သွင်းမှုယုတ္တိဗေဒကိုလုပ်ဆောင်ပါ။ အကယ်. သက်တမ်းကုန်ဆုံးပါက "ထပ်ခါတလဲလဲတင်သွင်းမှုကိုမလုပ်ပါ" ဟူသောအချက်ကိုပြန်ပို့ပါလိမ့်မည်။

အကျဉ်းချုပ်

လှုပ်ခါခြင်းနည်းပညာဆန့်ကျင်ရေးနည်းပညာသည်တစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်းလုပ်ဆောင်ချက်တင်ပြချက်ပြ problem နာကိုထိထိရောက်ရောက်ဖြေရှင်းနိုင်ပြီးကျိုးကြောင်းဆီလျော်သော caching ယန္တရားတစ်ခုသည်စနစ်၏တည်ငြိမ်မှုနှင့်အသုံးပြုသူအတွေ့အကြုံများကိုများစွာတိုးတက်စေနိုင်သည်။ PHP သည်လှုပ်ခါနေသောနည်းပညာကိုအကောင်အထည်ဖော်ရန်လွယ်ကူပြီးအသုံးပြုရလွယ်ကူသောနည်းလမ်းတစ်ခုကိုထောက်ပံ့ပေးပြီး developer များကစီမံကိန်းလိုအပ်ချက်များအရပြောင်းလဲမှုများပြုလုပ်နိုင်သည်။