2017-12-03 174 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代碼 –