我正在尝试使用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"]
提前致谢。
答案 0 :(得分:1)
您可能在调用挂钩的位置遇到问题。现在你在调用“the_content”钩子时调用钩子,我不确定它是否会起作用。为了测试,我放了一个print_r($ entry);死();钩子中的线条,看看你是否真的要开火了。如果这不起作用,您应该将代码移动到主题的functions.php文件中。无论如何它应该存在,但这不是你问的问题。
如果挂钩的位置不是问题,那么很可能是mysql查询代码块。由于您正在使用word press,我将利用全局$ wpdb对象将行插入到db中。它看起来像这样......
global $wpdb;
$wpdb->query(<sql statement>);