2017-06-21 64 views
-3

我已經構建了一個使用條件PHP和MySQL的系統,大部分刪除查詢很簡單,但減少冗餘我已經實現了撤銷功能,如果你真的想刪除一個項目,每次都必須問你。鍵入「刪除」來確認刪除mysql條目

但我有1個條目,特別是用戶不是真的應該刪除。我面對的是典型的彈出消息,這些消息很常見並且易於實現,但是我正在接觸,因爲我想要超出這一步。

我想有一個模式(使用引導3)出現,並強制用戶鍵入單詞「刪除」,以真正刪除數據庫中的條目。我有一個工作查詢來刪除該項目,但我的道路塊正在確認他們正確鍵入刪除,而無需查看大寫或小寫。因此,考慮到這一點,他們可以輸入以下的「刪除」,「刪除」,「刪除」,「DeLeTe」或任何其他任何東西,它會工作得很好,但如果他們鍵入其他任何東西,它會吐出一個錯誤並取消查詢執行。

我還沒有探討過javascript,因爲我真的不知道要開始多少。有任何想法嗎?謝謝!

+0

不管用戶輸入,將其轉換爲小寫/大寫,然後與'delete' /'DELETE'進行比較 – Swellar

回答

0
if(strtolower($_POST['delete_confirm']) === 'delete') { 
    //delete 
} else { 
    //error 
} 

將輸入轉換爲全部小寫,然後您可以檢查它是否等於「刪除」。

0

不管用戶輸入,將其轉換爲lowercase/uppercase然後比較delete/DELETE。這裏有一個例子:

function validate() { 
 
    var userInput = document.getElementById("someInput"); 
 
    var loweredInput = userInput.value.toLowerCase(); 
 
    if (loweredInput === "delete") { 
 
    alert("SAME"); 
 
    } else { 
 
    alert("NOT SAME"); 
 
    } 
 
}
<input id="someInput" type="text" /> 
 
<button id="btnValidate" type="button" onclick="validate()">Validate</button>

0

以下是你需要實現從用戶卸下包袱的總體思路。

使用JS

$mystrFromInput = "DELETE"; 
if($mystrFromInput.toUpperCase() === "DELETE") deleteStuff(); 

使用PHP

$mystrFromInput = "DELETE"; 
if(strtoupper($mystrFromInput) === "DELETE") deleteStuff(); 
0

這應該是在PHP中最短的解決方案,我認爲:

if (strcasecmp($_POST['delete_confirm'],'delete')) //delete