在页面加载

时间:2017-03-09 12:18:57

标签: php rest curl post

我正在尝试使用php cURL请求执行一系列操作,以返回返回JSON数据的RESTful API。我有第一步工作,即(GET)请求可用资源列表并填充下拉结果:

请求:

<?php
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => "https://cloud.skytap.com/templates",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Basic xxxxxxxxx",
    "cache-control: no-cache",
    "content-type: application/json",
  ),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$json = json_decode($response,true);
?>

下拉:

<form action="select-action2.php" method="post">
<select name="users">
    <option selected="selected">Select</option>
    <?php       
    $users = $json;      
    foreach($users as $key => $value){
    ?>
    <option value="<?php echo ($value["id"]); ?>"><?php echo $value["name"]; ?></option>
   <?php
    }
    ?>  
</select>
<input type="submit" name="submit" value="Submit">

对于第二步,我想将下拉列表中的选定值传递给第二个“操作”页面上的新POST请求,以使用所选ID执行操作。为了实现这一点,我尝试使用第一个下拉列表中的提交将所选值传递给操作页面上的$ tempID变量,然后将此值附加到该操作页面上请求中的URL:

<?php
$tempId = $_POST['users'];
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => "https://cloud.skytap.com/configurations?template_id=".$tempId,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Basic xxxxxxxx",
    "content-type: application/json",
  ),
 ));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

在传递变量的同时,我可以将操作页面上的下拉值打印到屏幕上,它似乎没有执行请求,因为$ response没有打印到屏幕上,似乎没有采取任何操作在帐户方面。

我可以使用操作页面上的代码通过Postman成功执行此操作(并且请求本身通过Postman生成),所以我必须假设代码本身没问题。我对这个领域很陌生,所以很多都是受过教育的猜测工作。

我已经尝试在网上找到一些答案并检查类似的问题,但我不确定我到底要找什么,并且做得很短。非常感谢任何帮助。

0 个答案:

没有答案