PHP 数据验证错误
PHP dataValidation error
在我的表单中正在验证用户输入,所以我制作了 dataValidation
并添加了 htmlspecialchars()
<?php
header('Content-Type: text/plain');
$post_cat = dataValidation("<a href='test'>Test</a>", ENT_QUOTES, 'UTF-8');
function dataValidation($cleandata) {
$data = trim($cleandata);
$data = stripslashes($cleandata);
$data = htmlspecialchars($cleandata);
return $cleandata;
}
echo $post_cat;
当我回显时,我得到 输出 像这样 <a href='test'>Test</a>
但实际使用时htmlspecialchars()
输出应该是这样的:
<a href='test'>Test</a>
但在我的情况下 dataValidation
功能不起作用
return $cleandata;
应该是
return $data;
您还丢弃了 $data
的中间值。你可能不想要那个。
不是真正的答案的一部分,但我建议您使用 IDE 进行代码分析。代码分析可以告诉您 $data
在 each 赋值后没有被使用。这将使您及早发现此错误。
我觉得应该是这样的
function dataValidation($cleandata) {
$data = trim($cleandata);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
在我的表单中正在验证用户输入,所以我制作了 dataValidation
并添加了 htmlspecialchars()
<?php
header('Content-Type: text/plain');
$post_cat = dataValidation("<a href='test'>Test</a>", ENT_QUOTES, 'UTF-8');
function dataValidation($cleandata) {
$data = trim($cleandata);
$data = stripslashes($cleandata);
$data = htmlspecialchars($cleandata);
return $cleandata;
}
echo $post_cat;
当我回显时,我得到 输出 像这样 <a href='test'>Test</a>
但实际使用时htmlspecialchars()
输出应该是这样的:
<a href='test'>Test</a>
但在我的情况下 dataValidation
功能不起作用
return $cleandata;
应该是
return $data;
您还丢弃了 $data
的中间值。你可能不想要那个。
不是真正的答案的一部分,但我建议您使用 IDE 进行代码分析。代码分析可以告诉您 $data
在 each 赋值后没有被使用。这将使您及早发现此错误。
我觉得应该是这样的
function dataValidation($cleandata) {
$data = trim($cleandata);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}