我不知道我的脚本怎么了。我有一个包含输入字段的模态框。AJAX函数将这些值提交给PHP脚本。在我的PHP脚本中,我有这两个过滤器用于输入值:
$userID= filter_input(INPUT_POST,"userid", FILTER_SANITIZE_INT);
$feedback = filter_input(INPUT_POST,"feedback", FILTER_SANATIZE_STRING);
但是,由于某种原因,每当我的Ajax打电话时,这些变量都是无效的。我将这些字段更改为以下:
$userID = $_POST['userid'];
$feedback = $_POST['feedback'];
然后它起作用,我不知道什么不使用上述拖车过滤器
我的ajax调用以防万一:
function submitFeedback(){
$.post(
"../submitFeedback.php/",
{
userid: $("[name=changepasswordID]").val(),
feedback: $("[name=submitfeedback]").val(),
},
function(data){
$(".feedbackstatusdisplay").html(data);
},
);
};
您的过滤器常数是错误的,它是 FILTER_SANITIZE_NUMBER_INT
,并且在第二个过滤器中有错字,它是 FILTER_SANITIZE_STRING
请参阅文档消毒过滤器
滤波器输入在PHP中正常工作$ userId = filter_input(input_post," userId",filter_sanitize_int(;//您的代码需要一些更改$ userId = filter_input(input_post," userId",filter_sanitize_number_int(;// filter_sanitize_number_int
这将删除输入中的非法字符
$反馈= filter_input(input_post,"反馈",filter_sanatize_string(;
$反馈= filter_input(input_post,"反馈",filter_sanitize_string(;
//更改它,例如 filter_sanitize_string