【发布时间】:2012-06-09 16:52:09
【问题描述】:
我正在为清理来自表单的数据编写一些代码而生气。 在表单中,我有一个名为“sender_countryCode”的输入字段,它只能包含 2 或 3 个文本字符,如 USA、FR、EN、... 以下代码应阻止与字符串不同的所有内容,但如果我在字段中写“我的文本”,则没有任何内容通过过滤器!
if (isset($_POST["sender_countryCode"])){
$var = $_POST["sender_countryCode"];
$var = stripslashes($var);
$var = htmlentities($var);
$var = strip_tags($var);
$var = filter_var($var, FILTER_SANITIZE_STRING);
$sender["countryCode"] = $var;
unset($var);
};
【问题讨论】:
-
我在您的代码中没有看到任何将其限制为 2-3 个字符的内容?
FILTER_SANITIZE_STRING只是剥离标签并可选编码,它与限制字符串的长度无关 -
你是对的,但是让明天的最大长度,主要问题是在我写“我的字符串”的形式中,代码显示我 $sender["countryCode"] 为空!
-
尝试在每条语句后使用断点或仅使用
echo $var;以查看失败的位置。我看不出你的代码有什么问题。
标签: php http-post forms sanitize