我的老板设置了一个脚本来通过 PHP 处理表单并将结果通过电子邮件发送。我们需要使用这个处理器。处理器的问题是这行代码:
foreach ($_POST as $k => $v){$$k = strip_tags($v);}
如果发送的所有值都只是字符串,这会很好,但我正在尝试处理一些作为数组传递的复选框。据我了解, strip_tags 函数仅适用于字符串。它处理所有内容并通过电子邮件发送结果,但每次尝试处理一系列复选框时都会发出通知。注意:数组到字符串的转换......这个过程仍然有效,我只是得到了到处都是丑陋的通知。为了临时解决问题,我删除了 strip_tags 函数,结果如下:
foreach ($_POST as $k => $v){$$k = $v;}
现在一切正常,我没有收到任何警告、错误或通知。但是,在向我的老板指出这一点后,他希望我恢复到原始代码,然后为每个复选框赋予其自己唯一的名称,而不是为它们赋予相同的名称和不同的值。我可以这样做,但我知道这不是处理一系列复选框的正确方法。此外,它还会引起各种头痛。我的老板根本不了解如何使用数组,所以他每次遇到数组时都会想出这样愚蠢的变通办法。他还声称这是某种垃圾邮件保护措施,可以阻止人们在我们的表单中添加收件人。我可能不是 PHP 专家,但我很确定这种说法是错误的。
那么我能做些什么来解决这个问题呢?我知道我应该首先将复选框数组转换为字符串,然后在生成的字符串上使用 strip_tags 函数,但我对 PHP 还是很陌生,并不完全理解那行代码开始做什么。任何人都可以帮助我至少指出正确的方向吗?