【发布时间】:2017-06-22 00:01:59
【问题描述】:
我收到了来自 API 的以下响应。
[{
"BookId":"32c03594-1ecb-4f97-8453-5b28a03d26d9",
"BookName":"Book1",
"Bookstatus":3,
"Country":"AU"
},
{
"BookId":"51d16696-b98a-4b3b-ac67-f36559cff70b",
"BookName":"Book2",
"Bookstatus":3,
"Country":"AU"
},
{
"BookId":"7b557a75-bf5e-4c29-9f31-43a7fee77520",
"BookName":"Book3",
"Bookstatus":3,
"Country":"AU"
},
{
"BookId":"c945ade5-d540-4378-9979-3842a1da396b",
"BookName":"Book4",
"Bookstatus":3,
"Country":"AU"
},
{
"BookId":"814869e2-e5af-48bc-a6da-28f272366955",
"BookName":"Book5",
"Bookstatus":3,
"Country":"AU"
}]
我有一个带有下拉框的网络表单来选择你想要的书。
我想要发生的事情是,当您单击 提交 时,您将被发送到另一个页面,并且在该页面上我希望能够访问 BookId、BookName 和访问令牌从第一页通过$_POST。我对BookName 没有任何问题,但不知道如何获取BookId 和访问令牌。
这是我目前所拥有的:
请注意:访问令牌是通过页面头部的$_GET 获得的,并分配给$access_token 变量。
<body>
<?php
$array=json_decode($response, true);
$arr_len = count($array);//length of the array = 5
$for_len = $arr_len - 1;//length - 1
?>
<h1>CashBooks</h1>
<form action="getcoa.php" method="post">
<select name="books">
<?php
for($i=0; $i<=$for_len; $i++){
$bookname = $array[$i]["BookName"];
echo '<option value="' . $bookname . '" name="' . $bookname . '">' .
$bookname . '</option>';
};
?>
</select>
<input type="hidden" name="<?php $bookname; ?>">
<input type="hidden" name="<?php $access_token; ?>">
<input type="submit" value="Get Chart of Accounts">
</form>
</body>
对于BookId,我还没有弄清楚如何处理它,所以任何建议都会很棒。我正在尝试使用访问令牌的方法不起作用。当我单击提交内容时,我在“getcoa.php 页面”上收到此错误:
"注意:未定义索引:C:\wamp\www\getcoa.php 中的 access_token 6号线
这是第 6 行:
$access_token = $_POST['access_token'];
仅供参考。令牌部分解决了。
但我认为我对 BookId 想要达到的目标并不明确。在此页面上,“用户”将看到的唯一内容是一个带有 BookNames 列表的下拉菜单,他们从中选择一个,然后单击提交按钮...在下一页上,我将调用API 端点,但我需要 BookId 才能在该端点上调用。
因此,需要以某种方式将所选 BookName 的 BookId 发布到下一页,因此我可以在该页面上使用 $_POST 来获取 BookId 并使用它来访问所需的端点,而最终用户不知道“BookId " 无论如何都存在。
希望我更清楚自己想要实现的目标。对不起,如果我不开始。
【问题讨论】:
-
您想在哪里使用 BookId。我看不到你的代码中使用了这个值。
-
您正在动态设置输入名称属性:
<input type="hidden" name="<?php $bookname; ?>">。这是故意的吗?还是您的意思是设置value属性? -
$access_token在哪里定义/生成/获得? -
@HimanshuUpadhyay:我还没有添加,因为我还没有弄清楚如何......我要问的问题之一。正如我所说,我希望能够将 BookId 发送到下一页,就像我对 BookName 所做的那样,但用户不知道它正在发生。用户只需选择书名并单击“获取会计科目表”......但在下一页上,我需要 GET 请求中的 BookId 来执行此操作。但我不希望用户看到或知道 BookId 存在。
-
@Kisaragi.. 它是动态的,因为用户可以选择任何现金簿。如果我将其设为静态,那么除非他们选择我想要的,否则它将无法工作。我不知道他们会选择什么书名,所以它必须是动态的。
标签: php arrays associative-array access-token