2014-09-13 158 views
1

我为我的joomla 3网站创建了一个收集访客电子邮件地址的表单。提交后,我收集的价值,像这样:如何在Joomla专栏中正确存储电子邮件?

$email = $input->post('email'); 

我然后把它们插入到数据库中,像这样:

$values = ...$db->quote($email)...; 

我在这里回顾Joomla的编码原则:http://docs.joomla.org/Secure_coding_guidelines

我见当我在这个问题中显示的电子邮件插入数据库时​​,@.正在从该值中除去,以帮助防止sql注入。我确信有一个简单的Joomla解决方法来插入电子邮件,但我无法定位语法。有任何想法吗?

回答

1

我从来没有使用过Joomla,但在阅读完文档后,我认为在检索不删除字符的值时,您必须指定一个过滤器。也许:

$email = $input->post->get('email', 'default_value', 'RAW'); 

这将使你输入未经过滤的,当然你要小心这一点。也许在指南页面列出的不同过滤器会更合适。

FYI我觉得上面的线是长手:

$email = $input->get('email', 'default_value', 'RAW'); 
+0

哇!这很好。对于从未使用Joomla的人,你确实发现修复速度很快。非常感谢 :) – Presto 2014-09-13 15:00:02

相关问题