【发布时间】:2022-03-23 17:52:43
【问题描述】:
我正在尝试从使用管道符号的国家下拉列表中获取国家/地区名称。像我这样的形式
[text* FullName id:fullname]
[select* country id:country include_blank "United States | a@gmail.com" "Canada | a@gmail.com" "Mexico | b@gmail.com" "United Kingdom | c@gmail.com"]
我使用了带有国家名称的不同 2 电子邮件,因为我需要根据国家名称将电子邮件发送给公司员工。在电子邮件模板中,我使用[country] 获取电子邮件并使用[_raw_country] 获取工作正常的国家名称。
我正在尝试在 function.php 文件中获取国家名称以通过这种方式将其保存在数据库中。
function contactform7_before_send_mail( $form_to_DB ) {
//set your db details
$mydb = new wpdb('user','password','databasename','localhost');
$form_to_DB = WPCF7_Submission::get_instance();
if ( $form_to_DB )
$formData = $form_to_DB->get_posted_data();
$fullname = $formData['FullName'];
$country = $formData['country'];
$mydb->insert( 'mytable', array( 'fullname' =>$fullname,'country' =>$country), array( '%s' ) );
}
但它什么也没给。如果我试着变成这样
$country = $formData['country'][0];
它只给我电子邮件 ID,例如 a@gmail.com 我试过 $country = $formData['country'][1];
它什么也没给我。我也试过$country = $formData['_raw_country']; 但运气不好。
这是参考文件 https://contactform7.com/selectable-recipient-with-pipes/
【问题讨论】:
-
您可以尝试使用此stackoverflow.com/questions/60361457/… 将您的表单数据发送到错误日志并查看结果。
-
["FullName"]=> string(6) "Deepak" ["country"]=> array(1) { [0]=> string(21) "a@gmail.com" }
-
我已经按照你的建议 ob_start(); var_dump($formData); error_log(ob_get_clean());并在上面的评论中得到输出。
-
这个问题是否与您的其他问题重复(某种程度上)?