我有一个HTML/PHP表单,它使用JAVA SCRIPT函数将输入内容发送(POST)到PHP代码,PHP代码执行查询并返回到JAVA SCRIPT函数,其中包含数据以自动填充表单中的其他输入。
当我发送的输入内容是纯文本时,It all 的效果很好,即使它的内容中只有一个引号也是如此。
但是,一旦双引号包含在输入内容中,它就无法返回自动填充结果。
感谢您的帮助,指出我在传递引号时哪里失败了。谢谢
英特尔英特尔只是为了更清楚起见,如果客户名称是“
时,代码就会失败
下面是从发送和接收数据的PHP SCRIPT函数:
!--Script Auto fill ltd by customer -->
<script type="text/javascript">
function updatefrm() {
setTimeout(function(){
var customer = $('#customer').val();
if ($.trim(customer) !='') {
$.post('customerfill.php', {customer: customer}, function(data) {
$('#customerupdate').val(data['customer']);
$('#ltdupdate').val(data['ltd']);
});
}
}, 10);
}
</script>
下面是获取POST数据、执行查询并传回数组以供脚本自动填充的JAVA代码:
<?php
if (!empty($_POST['customer'])) {
$DB_Server = "localhost"; // MySQL Server
$DB_Username = "XXXX"; // MySQL Username
$DB_Password = "XXXX"; // MySQL Password
$DB_DBName = "XXXXXXXX"; // MySQL Database Name
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Failed to connect to MySQL:<br />" . mysql_error() . "<br />" . mysql_errno());
// Select database
$Db = @mysql_select_db($DB_DBName, $Connect) or die("Failed to select database:<br />" . mysql_error(). "<br />" . mysql_errno());
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
$safe_name = mysql_real_escape_string(trim($_POST['customer']));
$query = mysql_query(" SELECT * FROM customers WHERE customer = '". $safe_name ."' LIMIT 1 ");
if (mysql_num_rows($query) > 0) {
$row = mysql_fetch_assoc($query);
json($row);
} else {
json(null);
}
}
function json ($array) {
header("Content-Type: application/json");
echo json_encode($array);
}
https://stackoverflow.com/questions/52802001
复制相似问题