php - 如何使用 Fabrik(joomla 组件)表单连接到数据库表并搜索匹配并返回结果?

标签 php mysql joomla2.5

我正在使用Joomla!组件Fabrik .

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

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

  • 名字
  • 姓氏
  • 唯一代码

该表单已使用 Fabrik 设置并在网站上完美显示。

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

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

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

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

我的表名称是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();

关于php - 如何使用 Fabrik(joomla 组件)表单连接到数据库表并搜索匹配并返回结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17035608/

相关文章:

php - Wordpress 管理菜单指向主题文件

java - Asyntask #1 Android 错误

c# - Mysql语法错误

mysql - 替换wordpress WP_POSTS表中post_date字段的年份(4位数字)

php - 由于长度原因,列可能无法编辑

mysql - 无法从 joomla 2.5 数据库获取数据

php - TCPDF 浏览器弹出标题

php - 斯堪的纳维亚字母 (å ä ö) 显示不正确

php - 配置中的 Codeigniter 表单验证取决于另一个输入

mysql - Joomla 2.5 : You do not have access to the administrator section of this site