【问题标题】:PHP Error- filter_input() expects parameter 3 to be integer, string given [duplicate]PHP 错误 - filter_input() 期望参数 3 为整数,给定字符串 [重复]
【发布时间】:2018-01-07 19:28:53
【问题描述】:

我正在尝试创建一个将详细信息存储到数据库的表单,但是,当我尝试清理/验证输入时,我不断收到以下错误

filter_input() 期望参数 3 为整数,给定字符串

我的代码如下,任何关于如何排序的帮助都会很棒!

$customer->EMAIL = filter_input(INPUT_POST, 'EMAIL', 'FILTER_VALIDATE_EMAIL');
$customer->TITLE = 'TITLE';
$customer->FNAME = filter_input(INPUT_POST, 'FNAME', 'FILTER_SANATIZE_STRING');
$customer->LNAME = filter_input(INPUT_POST, 'LNAME', 'FILTER_SANATIZE_STRING');
$customer->DOB = filter_input(INPUT_POST, 'DOB', 'FILTER_VALIIDATE_DATE');
$customer->PHONE = filter_input(INPUT_POST, 'PHONE', 'FILTER_SANATIZE_STRING');
$customer->COUNTRY = filter_input(INPUT_POST, 'COUNTRY', 'FILTER_SANATIZE_STRING');
$customer->STAFF_NUM = filter_input(INPUT_POST, 'STAFF_NUM', 'FILTER_VALIDATE_INT');
$customer->SUBSCRIPTION = filter_input(INPUT_POST, 'SUBSCRIPTION', 'FILTER_SANATIZE_STRING');
$customer->PASSWORD = filter_input(INPUT_POST, 'PASSWORD', 'FILTER_SANATIZE_STRING');

【问题讨论】:

  • 'FILTER_VALIDATE_EMAIL' 是一个字符串FILTER_VALIDATE_EMAIL 是一个常量
  • 我之前没有引号,但我一直收到 注意:使用未定义的常量 FILTER_SANATIZE_STRING - 假定为“FILTER_SANATIZE_STRING”

标签: php runtime-error user-input sanitization filter-input


【解决方案1】:

您需要使用常量,而不是这些常量的字符串表示。另外,检查sanitize 的拼写,例如

filter_input(INPUT_POST, 'FNAME', FILTER_SANITIZE_STRING);

【讨论】:

  • 谢谢!拼写错误是问题所在!
猜你喜欢
  • 1970-01-01
  • 2020-01-27
  • 2015-10-09
  • 2019-12-15
  • 2015-06-10
  • 2017-01-02
  • 2014-03-27
  • 2023-01-17
  • 2017-07-12
相关资源
最近更新 更多