我有這個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