写信给Joomla数据库

时间:2012-02-23 13:01:39

标签: php mysql joomla

我是前端开发者,所以我的PHP有点缺乏,我被卡住了。
我正在尝试将表单中的一些数据写入Joomla数据库 它只是一个电子邮件地址,所以并不复杂。我在数据库中创建了一个表单和一个表来保存电子邮件地址。但是我无法写入数据库而且我不确定我缺少什么 我不确定我的代码中需要包含哪些类。我包括joomla / factory所以我没有收到错误告诉我JFactory不是一个对象,但我不知道我是否需要包含其他内容。

这是我的PHP代码:

$emailAdd = $_POST['email'];

require_once ('../../libraries/joomla/factory.php');

$db =& JFactory::getDBO();
$query = "INSERT INTO '#__pdfemails' ('emailaddress')
    VALUES ('thevalue')";
$db->setQuery($query);
$db->query();

我根本没有任何错误,但它没有写入数据库。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:5)

这是一个简单的答案 - http://extensions.joomla.org/extensions/contacts-and-feedback/forms

有2页表单构建器。我知道Chronoforms(它也是免费的)会完全按照你的意愿行事。您可以在10分钟内完成,包括安装时间。此外,您将获得验证和其他功能,如数据卫生,而无需自己编写。

根据您发布的代码判断,您将走向XSS和SQL注入攻击的道路。帮自己一个忙,并获得有效的扩展。

答案 1 :(得分:2)

您的SQL中有错误。这样:

$query = "INSERT INTO '#__pdfemails' ('emailaddress')
VALUES ('thevalue')";

应该是这样的:

$query = "INSERT INTO '#__pdfemails' (emailaddress)
VALUES ('thevalue')";

请注意列名称周围缺少单引号。

如果再次遇到这样的错误,请先尝试直接在MySQL中执行SQL。在Joomla环境中,可能存在许多错误被“隐藏”的点。这对于实际站点来说非常明智,尽管您应该能够配置开发站点以显示SQL错误以简化故障排除。