我如何使用Fabrik (joomla组件)的形式连接到数据库表&搜索匹配&返回结果


How do i use a Fabrik (joomla component) form to connect to database table & search for match & return a result?

我正在使用Joomla!组件为。

我想要得到的功能是让用户购买一个独特的代码从我的网站使用电子瘾君子。付款完成后,e-junkie将处理一个脚本,将代码发送到MySQL数据库表。

购买后,他们将被重定向到网站上的一个页面,通过填写表格来激活他们的代码。为了激活他们的代码,他们需要在三个文本字段中输入数据:

  • 名字
  • <
  • 独特的代码/gh>

表单已经用Fabrik设置好了,并且在网站上显示得很好。

我现在需要的是当表单提交时,我需要它连接到存储唯一代码的数据库,在数据库表中搜索匹配的firstname, lastnameunique code,如果找到匹配,则返回成功消息,如果没有找到匹配,则返回失败消息。

Fabrik允许PHP插件脚本在提交表单时运行,我将为表单上的每个字段使用单独的插件。

到目前为止,我已经提出了下面的代码片段,这将在提交表单时执行。我只是试图在这个阶段验证表单上的firstname字段,只是为了让它工作。一旦它是工作的,我将复制代码,并适应它的其他领域(例如lastnameuniquecode)。

问题是我就是不能让它工作。它使用Joomla的JFactory/getDBO连接数据库。

My Table name is travelcodes表单上的字段是:firstnamelastnameuniquecode表中的列也是firstnamelastnameuniquecode

$firstname = '{travelcodes___firstname}';
$value = '{tablename___firstname}';
$db =JFactory::getDBO();
$query=("SELECT firstname FROM travelcodes where field = '$firstname'");
$db->setQuery($query);
$response = $db->loadResult();
if ($response == $firstname) {
    return true;
} else {
    return false;
}

如果有任何帮助,我将不胜感激。

谢谢。贝利

使用以下设置没有问题

我认为你需要在('you_element')之前添加JRequest::getVar,并设置为onBeforeProcess

$db = JFactory::getDbo();
$date = date("Y-m-d H:i:s", time());  
$value = JRequest::getVar('off_line_ap___offline_reason');
$user =& JFactory::getUser();
$uid = $user->id;
$db->setQuery("INSERT INTO d2_exchange_log (date_time, part, quantity, user_id, purpose) VALUES ('{$date}', '{$value}', '99','{$uid}', 'Test')");
$submissionsNo=$db->loadResult();