表单处理 - 所有表单变量都通过api传递

时间:2013-09-21 02:30:49

标签: php forms curl

我与潜在客户合作很多。我创建表单,然后获取所有表单变量并通过API运行它。

有没有办法将所有表单变量转储到curl发布而不全部写出来?把它们全部写出来似乎效率低下。特别是因为表单变量与API的变量名称相同。

表单无法直接转到API。它只返回一些XML,所以我通过api运行表单变量,然后根据结果生成一个页面

感谢。

3 个答案:

答案 0 :(得分:0)

使用

<form method="POST">

相反。这会将所有内容传递给您的$_POST变量而不是$_GET(如果您使用$_REQUEST,它将保持不变但请注意与$_COOKIE发生冲突!)

答案 1 :(得分:0)

有很多方法可供选择。

1)使用Post方法。

<form method="POST">

根据您的要求,将该变量转换为该api中的一个新变量,然后一次将该变量发送到另一个页面。

2)使用会话变量。

$_SESSION['views']=1;

答案 2 :(得分:0)

当您发布表单时,请执行以下操作

 $fields_string = '';

 foreach($_POST as $key=>$value) { 
        $fields_string .= $key.'='.$value.'&'; 
 }
 rtrim($fields_string, '&');

curl_setopt($ch,CURLOPT_URL, $API_URL);
curl_setopt($ch,CURLOPT_POST, count($_POST));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
$result = curl_exec($ch);
curl_close($ch);

上面的代码将生成一个POST变量字符串并将其发送到API