表单处理 - 通过 API 传递的所有表单变量


Form Processing - All form variables passed through api

我经常与潜在客户合作。我制作表单,然后获取所有表单变量并通过 API 运行它。

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

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

谢谢。

使用

<form method="POST">

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

有很多方法可用。

1) 使用发布方法。

<form method="POST">

根据您的要求,将该变量放入该 API 中的一个新变量,然后将该变量一次性发送到另一个页面。

2) 使用会话变量。

$_SESSION['views']=1;

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

 $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