我的老板设置了一个脚本来通过PHP处理表单并通过电子邮件发送结果。我们需要需要来使用这个处理器。与处理器的问题是这行代码:使用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我还是比较新的,并且不完全理解该行代码在开始时的操作。至少有人能帮助我指出正确的方向吗?
我找到变量变量更糟... – 2011-03-01 19:13:46
时候退出目前的工作;)的代码,一行讲述了贵公司的一切。 – NikiC 2011-03-01 19:14:50
转动魔术引号;那么你就不需要去掉所有的标签了。 – 2011-03-01 19:18:55