2017-06-21 54 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