私はいくつかのコードを作りました。私はかなり小さなフレームワークを使用しています。
<script type="text/javascript">
function generateNormal(type, text, layout)
{
if (typeof(layout)==='undefined') layout = 'topRight';
var n = noty(
{
text: text,
type: type,
dismissQueue: true,
theme: 'default',
layout: layout
}
);
}
function generateButtonDelete(id)
{
if (typeof(layout)==='undefined') layout = 'topRight';
var n = noty(
{
text: 'Are you sure you want to delete the record?',
type: 'alert',
dismissQueue: true,
theme: 'default',
layout: 'center' ,
buttons: [
{addClass: 'btn btn-primary', text: 'Ok', onClick: function($noty) {
$noty.close();
$.post("delete.php", {id: id },
function(data) {
if (data)
{
generateNormal('success', 'The record is deleted with succes!')
}
else
{
generateNormal('error', 'There is a problem with the database, please try again.')
}
});
}
}
]
}
);
}
</script>
上記のコードは、PHP によって生成されたテーブルによって使用されます。
<table>
<tr>
<th>
Delete
</th>
<th>
ID
</th>
<th>
Description
</th>
</tr>
<!-- This section will be created by PHP -->
<tr>
<td>
<a href="#" onclick="generateButtonDelete(1)">Delete</a>
</td>
<td>
1
</td>
<td>
Description row 1
</td>
</tr>
<tr>
<td>
<a href="#" onclick="generateButtonDelete(2)">Delete</a>
</td>
<td>
2
</td>
<td>
Description row 2
</td>
</tr>
<!-- End of section that will be create by PHP -->
delete.php ファイルでは、レコードを削除するためのクエリが PHP を使用して実行されます。そして、クエリがうまく実行されたかどうかにかかわらず、true または false をエコーします。
コードは、コンソールにエラーが発生することなく完全に機能します。しかし、これが安全かどうかはわかりません。これは単なる概念実証です。HTML と PHP ページは、ログイン スクリプトで保護されます。
これが安全かどうか、誰かが私に言ってくれることを願っていますか?
私の悪い英語でごめんなさい。
編集: 私はいくつかの PHP コードを作成しました。しかし、これは単なる概念実証であるため、コードをテストしませんが、Eclipse はエラーを出しません。
<?php
if (isset($_POST['id']))
{
if (is_int($_POST['id']))
{
if ($_POST['id'] > 0)
{
$con = new PDO('mysql:host=localhost;dbname=testdb;charset=UTF-8', 'username', 'password');
$sql = "DELETE FROM table_name WHERE id=?";
$q = $con->prepare($sql);
$execution = $q->execute(array($_POST['id']));
if ($execution) echo true;
else echo false;
}
else echo false;
}
else echo false;
}
?>