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()

输出应该是这样的:

&lt;a href='test'&gt;Test&lt;/a&gt;

但在我的情况下 dataValidation 功能不起作用

return $cleandata;

应该是

return $data;

您还丢弃了 $data 的中间值。你可能不想要那个。


不是真正的答案的一部分,但我建议您使用 IDE 进行代码分析。代码分析可以告诉您 $dataeach 赋值后没有被使用。这将使您及早发现此错误。

我觉得应该是这样的

   function dataValidation($cleandata) {
     $data = trim($cleandata);
     $data = stripslashes($data);
     $data = htmlspecialchars($data);
     return $data;
   }