无法写入Joomla数据库?

时间:2013-11-22 19:00:10

标签: php database joomla

我正在使用Joomla 3.0(它是最新的)和巫师。我有一个表单,我想将输入的数据提交到我创建的数据库中的表。由于某种原因,它不会写入表,我很确定它找不到数据库。

由于我使用巫师,我不需要包含连接数据库的代码,它应该自动完成。我尝试了无数的代码变体,没有任何工作。这看起来应该很简单。

我是PHP / SQL编码的新手,所以也许我的代码有问题,但在尝试了这么多不同的东西后,我想知道是否还有其他原因我不能写入表格。

这是我的HTML表单和php。基本上,我想检查表单中输入的用户名是否存在于我的数据库的users表中。如果它确实存在且复选框已打开,请在out_of_office表中输入用户名和消息。如果未选中该复选框,请从表中删除该行。但是,到目前为止,我甚至无法写信给桌子,所以我认为我应该先让这部分工作正常。

<form method="post" action="">
<p>Out of Office <input name="onoff" type="checkbox" value="ON"></p>

<p><label>Custom Out of Office Message</label>
<input type="text" name="custommessage" size="30" maxlength="25"/></p>

<p><label>Enter Username</label>
<input type="text" name="enterusername" size="30" maxlength="25"/></p>

<p><input type="submit" name="submit" value="Submit" /></p>
</form>

<?php
$username = $_POST['enterusername'];
$message = $_POST['custommessage'];
$query = "INSERT INTO out_of_office VALUES ('$username', '$message')";

mysql_query($query) or die ('Error');

echo "data entered";

?>

当我访问我网站上的页面时,我会看到一个显示“错误”的白页。 就像我说的,我已经为PHP尝试了很多代码,但没有任何作用。请帮忙!

1 个答案:

答案 0 :(得分:2)

是的,您应该创建一个小模块,然后将其导入到您的文章中,而不是将所有代码放在文章中。

以下是关于如何开发基本模块的documentation。除此之外,您还可以使用module generator

一旦你拥有了一个基本模块,你就会想要开始使用Joomla编码标准来获取$_POST数据。请阅读以下有关如何执行此操作的信息:

http://docs.joomla.org/Inserting,_Updating_and_Removing_data_using_JDatabase

至于您的数据库查询,您还需要查看特定的编码标准。在这里阅读更多相关信息:

http://docs.joomla.org/Inserting,_Updating_and_Removing_data_using_JDatabase

以下是数据库查询的示例

$db = JFactory::getDbo();
$query = $db->getQuery(true);

$columns = array('username', 'message');
$values = array($db->quote($username), $db->quote($message));

$query
    ->insert($db->quoteName('out_of_office'))
    ->columns($db->quoteName($columns))
    ->values(implode(',', $values));

$db->setQuery($query);
$db->execute();

只是让你开始的东西。祝你好运。

希望这有帮助