0

我正在尝试使用 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"]

提前致谢。

4

1 回答 1

1

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

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

global $wpdb;
$wpdb->query(<sql statement>);
于 2013-06-09T13:25:59.170 回答