doudui6756 2014-02-12 19:48
浏览 45
已采纳

以wordpress形式发送数组数据

I am sending data from a wordpress form in one site to another third party website. When I print_r() the array data on the wordpress form , it displays

Array ( 
[comp_title] => Test incident title 
[comp_desc ] => Officers reported are: first fname officer first lname officer , second fname officer second lname officer , third fname officer third lname officerLocation: locationDescription: desc 
[fullname] => Test reporter fnameTest reporter lname 
[email] => testemail@testreporter.co.ke [phonno] => 0700123456 
[anonymous] => 0 
[fac_id] => 24576 
)

However, on the third party site, when I use var_dump($_GET), it displays array(0).

This is php code from the wordpress site:

add_action("gform_after_submission_1", "set_post_content", 10, 2);
function set_post_content($entry, $form){

//set POST variables
$post_url= 'http://example.com/form_api.php';

$body= array(
'comp_title' =>     urlencode($entry['1']),
'comp_desc' =>     urlencode('Officers reported are: '.$entry['4.3'].' '.$entry['4.6'].' , '.$entry['14.3'].' '.$entry['14.6'].' , '.$entry['13.3'].' '.$entry['13.6'].'. Location: '.$entry['5'].'. Description: '.$entry['6']),
'fullname' =>  urlencode($entry['8.3'].' '.$entry['8.6']),  
'email' =>     urlencode($entry['10']),
'phonno' =>    urlencode($entry['9']),
'anonymous' => urlencode(0),
'fac_id' =>    urlencode(24576)
);

 $fields_string = http_build_query($body);

//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $post_url);
curl_setopt($ch,CURLOPT_POST, count($body));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

$result = curl_exec($ch);

curl_close($ch);

}      

Then on form_api.php on the third party application i have:

$fac_id =  mysql_real_escape_string($_GET['fac_id']);
$comp_title = mysql_real_escape_string(strtoupper($_GET['comp_title']));
$comp_desc = mysql_real_escape_string($_GET['comp_desc']);
$fullname =mysql_real_escape_string($_GET['fullname']);
$email = mysql_real_escape_string($_GET['email']);
$phonno = mysql_real_escape_string($_GET['phonno']);

What could i be doing wrong?

  • 写回答

1条回答 默认 最新

  • donglin5770 2014-02-12 19:56
    关注

    You're trying to grab GET data, but you are sending the request via POST. Try grabbing $_POST['fac_id'] instead of $_GET['fac_id'].

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀