我如何使用Fabrik(joomla组件)表单连接到数据库表&搜索匹配&返回一个结果?

时间:2013-06-11 02:22:50

标签: php mysql joomla2.5

我正在使用Joomla!组件Fabrik

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

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

  • 名字
  • 姓氏
  • 唯一代码

表单已经与Fabrik一起设置并在网站上很好地显示。

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

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

到目前为止,我已经提出了下面的代码片段,它将在提交表单时执行。我只是试图在此阶段验证表单上的unique code字段,以使其正常工作。一旦它工作,我将复制代码并使其适应其他字段(例如firstnamelastname)。

问题是我无法让它发挥作用。它使用Joomla的JFactory / getDBO连接到数据库。

我的表名是uniquecode 表单上的字段为travelcodesfirstnamelastname 表格中的列也是uniquecodefirstnamelastname

uniquecode

非常感谢任何帮助。

感谢。

贝利

1 个答案:

答案 0 :(得分:0)

使用以下设置我没有问题

我认为您需要先添加JRequest :: getVar(' you_element')并将设置设为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();