2017-06-21 10 views
-3

私は条件付きのPHPとMySQLを使用してシステムを構築しました。削除のクエリはシンプルですが冗長性を減らすために、本当にアイテムを削除したい場合は毎回尋ねる必要があります。mysqlのエントリを削除することを確認するために "delete"と入力してください

しかし、私は特にユーザーが実際に削除するはずがないというエントリが1つあります。私は一般的なポップアップメッセージに直面しています。これは一般的で実装が簡単ですが、私はそれを超えて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

ここでは、利用者からの負担を削除するために実装する必要がある一般的な考え方です。これはPHPで最短解決する必要がありますPHP

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

を使用してJS

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

を使用して

は、私は思う:ユーザーが入力したものは何でも

if (strcasecmp($_POST['delete_confirm'],'delete')) //delete 
関連する問題