PHP 过滤器选项不接受来自 ajax 调用的值



我不知道我的脚本怎么了。我有一个包含输入字段的模态框。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

最新更新