我正在试图弄清楚如何将更改后的值提交到数据库,但到目前为止我还没有多少运气。关于我做错了什么的任何想法?
JS文件:
$("#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());
答案 0 :(得分:3)
尝试更改:
include('database.php');
$_GET['name'];
$_NAME=$_GET['name'];
要:
include('database.php');
$_NAME=$_POST['name'];
文档说:
提交就地编辑器表单后,它会发送一个POST请求 编辑器参数中指定的URL以及三个 表格字段
通过编写$_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/)。
答案 1 :(得分:1)
尝试使用$_REQUEST
,可以帮助您在示例时捕获$_GET
和$_POST
请求...
尝试使用mysql_real_escape_string
修复SQL注入漏洞,请参阅http://php.net/manual/en/function.mysql-real-escape-string.php以获取更多信息
由于