[英]Another In Place Editor - a jQuery edit in place plugin
我試圖弄清楚如何將更改后的值提交給數據庫,但到目前為止我一點運氣都沒有。 知道我做錯了什么嗎?
文件:
$("#editme5").editInPlace({
/*saving_animation_color: "#ECF2F8",
callback: function(idOfEditor, enteredText, orinalHTMLContent, settingsParams, animationCallbacks) {
animationCallbacks.didStartSaving();
setTimeout(animationCallbacks.didEndSaving, 2000);
return enteredText;
},*/
url: "server.php",
params: "name=BUSINESS_NAME"
});
PHP 文件:
include('database.php');
$_GET['name'];
$_NAME=$_GET['name'];
$update = $_POST['update_value'];
$insert = "UPDATE CLIENTS SET ".$_NAME."='".$update."'";
mysql_query($insert) or die (mysql_error());
嘗試改變:
include('database.php');
$_GET['name'];
$_NAME=$_GET['name'];
到:
include('database.php');
$_NAME=$_POST['name'];
文件說:
提交就地編輯器表單后,它會向編輯器參數中指定的 URL 發送一個 POST 請求以及三個表單字段
通過寫$_NAME=$_GET['name'];
您期望值通過GET
請求傳來,但插件使用POST
請求發送值。 我想這就是這里的罪魁禍首。
另外,請記住 Marc B 在他的評論中所說的話。 該代碼非常容易受到 SQL 注入攻擊。 為了使其不那么脆弱,至少使用mysql_real_escape_string()
(更多: http://php.net/manual/pl/function.mysql-real-escape-string.php )或使用准備好的語句(一個很好的教程: http: //www.ultramegatech.com/2009/07/using-mysql-prepared-statements-in-php/ )。
嘗試使用$_REQUEST
,它可以幫助您在樣本時間捕獲$_GET
和$_POST
請求...
嘗試使用mysql_real_escape_string
修復 SQL 注入孔,更多信息請參見http://php.net/manual/en/function.mysql-real-escape-string.php
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.