ajax PHP将不一致的结果保存到数据库
请参阅以下代码: 当我去编辑数据时,返回的一个字段“状态”的已保存数据可以正确保存,或者有时在保存时删除一些字母。 在状态字段中有三个可能的值“credit”、“debit”或“visa”。 返回并正确保存“借方”和“visa”值,但保存的某些贷方值仅为“cr”,即使保存前文本框显示“贷方”…即使在保存前清除字段并键入“贷方”也没有帮助ajax PHP将不一致的结果保存到数据库,php,jquery,ajax,Php,Jquery,Ajax,请参阅以下代码: 当我去编辑数据时,返回的一个字段“状态”的已保存数据可以正确保存,或者有时在保存时删除一些字母。 在状态字段中有三个可能的值“credit”、“debit”或“visa”。 返回并正确保存“借方”和“visa”值,但保存的某些贷方值仅为“cr”,即使保存前文本框显示“贷方”…即使在保存前清除字段并键入“贷方”也没有帮助 CurrentPage.EditItem = function(id) { if (confirm('Are you sure?')) { consol
CurrentPage.EditItem = function(id) {
if (confirm('Are you sure?')) {
console.log("DetailPage :: edit");
var name = $("#name").val();
var itemm = $("#itemm").val();
var amount = $("#amount").val();
var status = $("#status").val();
var Uid = localStorage.getItem("Uid");
//formData = {
// UId: sessionStorage.userId,
// itemm: $("#name").val(),
// amount: $("#amount").val(),
// status: $("#status").val(),
// }
if (itemm == "") {
alert("Please enter item");
} else if (amount == "") {
alert("Please enter office amount");
} else if (status == "") {
alert("Alert", "Please enter phone status");
} else {
$.ajax({
type:'POST',
url:'http://www.mywebsite.com/edit.php',
data:{'Uid':Uid,'itemm':itemm,'amount':amount,'status':status},
crossDomain: true, // enable this
success: function(data) {
alert("Edit item success");
window.location.href = "listof.html"
},
error: function() {
alert("Edit user gone wrong");
}
});
}
}
};
HTML
- 项目:
- 金额:
- 状态:
编辑项
删除项目
PHP
a)易受攻击b)没有提供关于后端数据库结构的详细信息c)指定text/json作为输出,然后输出最肯定不是json的纯文本d)没有提供关于您所做的调试类型的详细信息,比如执行var_dump($\u POST)
以查看服务器上出现了什么@MarcB指出,您应该真正解决sql注入的问题,至于这个问题,请发布表的结构balance1+表的排序和编码。和字段。a)将解析为sql注入。。现在正在测试b)MySQL:id、int.itemm、varchar、排序规则utf8\u general\u ci。金额、内部状态、varchar、排序规则utf8\U常规\U ci。(唯一的问题是这个字段-已将列名更改为Status,但没有帮助)c)未使用json文本d)不是100%如何使用var_dump?我对它进行了排序。。。。奇怪的一个。。。我正在使用Ripple模拟器。。。一旦我回到正常的视野,一切都很好…真的很奇怪…我浪费了一周的时间。。。谢谢大家。。也许我应该调查一下ripple为什么会造成这种情况?嗯
<div class="car">
<ul class="view">
<li >Item:</li>
<li ><input id="itemm" name="itemm" type="text"></li>
<li >Amount:</li>
<li ><input id="amount" name="amount" type="text"></li>
<li >Status:</li>
<li ><input id="status" name="status" type="text"></li>
</ul>
</div>
<div class="car" style="margin-bottom:40px;">
<button id="edit" class="btn btn-positive btn-block" onclick="currentPage.EditItem();">EDIT ITEM</button>
</div>
<div class="car" style="margin-bottom:40px;">
<button class="btn btn-negative btn-block" onclick="currentPage.deleteItem();">REMOVE ITEM</button>
<?php
header('Content-type: application/json');
$con=mysqli_connect("localhost","mxxxxxx","xxxxx89x78x","ccxcxcxcxc_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$itemm_id = $_POST['Uid'];
$itemm_itemm = $_POST['itemm'];
$itemm_amount = $_POST['amount'];
$itemm_status = $_POST['status'];
$qry = "UPDATE balance1 SET itemm = '$itemm_itemm', amount = '$itemm_amount' , status = '$itemm_status'
WHERE id ='$itemm_id'";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record updated";
mysqli_close($con);
?>