使用Gravity Forms gform_after_submission将提交的数据推送到mySQL

时间:2013-06-08 20:54:36

标签: mysql wordpress forms gravity

我正在尝试使用gform_after_submission挂钩将数据推送到外部托管的mySQL表。我使用的脚本没有显示任何错误,但也没有任何效果。

我正在使用Wordpress插件“在页面和帖子中允许PHP”将钩子直接放入表单短代码上方的页面中(我正在做类似的事情 - 成功 - 在我的网站上的其他地方使用预填充钩子,所以我认为在这里使用相同的方法是可以的。)

这是我的代码:

[allowphp]
add_action("gform_after_submission_9", "push_fields", 10, 2);
function push_fields($entry, $form){

$uploaderName = $entry["1"];
$organiserName = $entry["2"];
$organiserEmail = $entry["3"];
$organiserNumber = $entry["4"];
$venueNumber = $entry["5"];

$con=mysqli_connect("hostname","username","password*","dbname");
mysqli_query($con,"INSERT INTO table (uploaderName, organiserName, 
organiserEmail, organiserNumber, venueNumber) VALUES ('$uploaderName',
'$organiserName', '$organiserEmail', '$organiserNumber', '$venueNumber')");
}
[/allowphp]
[gravityform id="9" name="Add your event"]

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可能在调用挂钩的位置遇到问题。现在你在调用“the_content”钩子时调用钩子,我不确定它是否会起作用。为了测试,我放了一个print_r($ entry);死();钩子中的线条,看看你是否真的要开火了。如果这不起作用,您应该将代码移动到主题的functions.php文件中。无论如何它应该存在,但这不是你问的问题。

如果挂钩的位置不是问题,那么很可能是mysql查询代码块。由于您正在使用word press,我将利用全局$ wpdb对象将行插入到db中。它看起来像这样......

global $wpdb;
$wpdb->query(<sql statement>);