私はこの問題に対する複数の解決策を読んでいますが、それらのどれも私にとってはうまくいかないようです。私はmanageadmin.phpとrejectaction.phpの2つのファイルを持っています。 manageadmin.phpファイルは、管理者を拒否するボタンをユーザーに提供します。人が拒否ボタンをクリックしたとき、管理ステータスをゼロに設定する必要があります。ここでPHPファイルがJquery ajaxから複数のパラメータを読み取ることができません
は私の最初のコード
$reject_id=$_POST['reject_id'];
$reject_query="UPDATE tbl_admin set admin_status=0 where admin_id='$reject_id'";
mysql_query($reject_query);
rejectaction.php
manageadmin.php
<script type="text/javascript">
$(document).ready(function()
{
/* reject */
$(".reject_btn").click(function(){
var element = $(this);
var reject_id = element.attr('reject_id');
$.ajax({
type: "POST",
url: "rejectaction.php",
data: {reject_id:reject_id},
success: function(){
alert("Reject Successful");
location.reload();
}
});
});
});
</script>
は、これが正常に動作しますが、その後、私は、これは、複数のコードを拒否する必要なことに気づいていますページ。だから私は、テーブル名、更新される列とチェックされる列をパラメータとして条件を渡すことを考えました。
<script type="text/javascript">
$(document).ready(function()
{
/* reject */
$(".reject_btn").click(function(){
var element = $(this);
var reject_id = element.attr('reject_id');
var tbl_name = "tbl_admin";
var column_reject = "admin_status";
var column_cond = "admin_id";
$.ajax({
type: "POST",
url: "rejectaction.php",
data: {reject_id:reject_id, tbl_name:tbl_name,
column_cond:column_cond,
column_reject:column_reject},
success: function(){
alert("Reject");
location.reload();
}
});
});
});
</script>
rejectaction.php
$reject_id=$_POST['reject_id'];
$tbl_name = $_POST['tbl_name'];
$column_cond = $_POST['column_cond'];
$column_reject = $_POST['column_reject'];
$reject_query="UPDATE '$tbl_name' set '$column_reject' = 0 where '$column_cond'='$reject_id'";
// $reject_query="UPDATE tbl_admin set admin_status=0 where admin_id='$reject_id'";
mysql_query($reject_query);
このコードは動作しない(つまり、更新取得されていない状態である): これが変更されたコードです。しかし、alert("Reject Successful")
が実行されています。私は初心者です。誰でも私が作った間違いを指摘できますか?おかげ
***してください[ 'mysql_ *'関数を使用して停止](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql- functions-in-php)*** [これらの拡張機能](http://php.net/manual/en/migration70.removed-exts-sapis.php)はPHP 7で削除されました。[prepared] [PDO](http://php.net/manual/en/pdo.prepared-statements.php)と[MySQLi](http:// php(http://en.wikipedia.org/wiki/Prepared_statement) .net/manual/en/mysqli.quickstart.prepared-statements.php)、PDOの使用を検討してください(http://jayblanchard.net/demystifying_php_pdo.html)。 –
[Little Bobby](http://bobby-tables.com/)によると*** [あなたのスクリプトはSQLインジェクション攻撃の危険にさらされています。](http://stackoverflow.com/questions/60174/how-can- i-prevent-sql-in-php)***。 [文字列をエスケープする](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string)でも安全ではありません! –
ブラウザの開発者ツールでAJAXリクエスト/レスポンスを見たことがありますか?プロジェクトにjQueryライブラリを含めましたか?エラーが報告されていますか?あなたはこれをWebサーバー上で実行していますか? –