我经常与潜在客户合作。我制作表单,然后获取所有表单变量并通过 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