2017-12-03 92 views
-1

当联系表单7成功提交时,我想向用户的手机发送短信,为此,我需要知道如何在表单提交后执行PHP代码。我也会利用用户输入的值。当联系表单7提交时执行一些PHP

我知道这个问题是以前的答案,但该解决方案不适用于我的情况。 我下面的代码添加到我的functions.php

add_action('wpcf7_before_send_mail', 'process_contact_form_data'); 
function process_contact_form_data($contact_data){ 

var_dump($contact_data->posted_data); 
$name = $contact_data->posted_data["your-name"]; 
$email = $contact_data->posted_data["your-email"]; 

echo $name ; 
echo $email;     
} 

,但增加后的形式提交,并没有任何反应甚至没有数据被提交

这里不断加载代码后是我的短信API

$parampro['uname'] = "XXXXXX"; 
$parampro['password'] = "XXXXXX"; 
$parampro['sender'] = "XXXXXX"; 
$parampro['receiver'] = $to;  
$parampro['route'] = "XX"; 
$parampro['msgtype'] = "1"; 
$parampro['sms'] = $msg; 
$sendsmspro = http_build_query($parampro); 
$urlpro="http://newsms.designhost.in/index.php/smsapi/httpapi/?".$sendsmspr; 
$ch=curl_init(); 
curl_setopt($ch, CURLOPT_URL, $urlpro); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$resultpro = curl_exec($ch); 

回答

1

表单通过AJAX提交,您发送的输出会打破JSON响应。删除var_dump和回波,并提交应明确确认。

如果您想在其中添加调试代码,请使用文件记录它或查看浏览器的开发工具以查看原始请求和响应。

+0

我删除它,现在表单正在工作,但我想执行的php代码没有执行 –

+0

它必须执行,否则在那里有一个'echo'不会混淆输出;)。这可能是一个无关的问题。您是否验证了用于发送短信的代码在没有CF7的情况下工作,并且您使用的是客户端提供的正确字段?也许将您使用的代码添加到问题中(在删除之前删除所有API密钥)? – janh

+0

是的,当我从CF7中分离它时,它工作正常。让我对问题进行一些更改,告诉您SMS代码 –