我有这个PHP脚本,当有人在表单中输入文本并按提交时运行。问题是,当键入'
或"
时,脚本未运行。我也希望它也能搜索到。Ajax搜索未在引号上运行
搜索脚本:
if(isset($_POST["name"]) === true && empty($_POST["name"]) === false) {
$getFullName = $db->prepare("SELECT * FROM `users` WHERE `name` LIKE (:name)");
$getFullName->execute(array(":name" => "%" . $_POST["name"] . "%"));
$results = $getFullName->fetchAll();
$count = 0;
foreach($results as $row):
$count++;
echo $row["name"];
endforeach;
if($count == 0){
echo "Couldn't find anything.";
}
}
jQuery的:
$('input#name-submit').on('click', function() {
var name = $('input#name').val();
if ($(name) != '') {
$.post('ajax/searchName.php', {name: name}, function(data) {
$('div#name-data').text(data);
});
}
});
提前感谢!
请注意,我也尝试过htmlspecialchars($_POST["name"]
)和htmlentities($_POST["name"])
可能和addslashes上( $ _POST [“name”])会有帮助吗? –
它没有工作。 – Jacob
使用提交按钮中的'submit'事件而不是'click'。然后使用第一个传递参数(事件对象)来阻止提交表单'$(“form”)。on(“submit”,function(ev){ev.preventDefault(); // ajax go here .. 。});' – Andreas