【问题标题】:Passing a variable from text box to a API url for Digital Ocean将变量从文本框传递到 Digital Ocean 的 API url
【发布时间】:2014-05-08 15:30:09
【问题描述】:

我正在尝试获取下面的 URL 以使用 Digital Oceans API 更改服务器的主机名

<a href=\"https://api.digitalocean.com/droplets/$serverid/rename/?client_id=$myClientID&api_key=$myDOApi&name=newHostName\" target=\"_blank\">
<font color=\"#CCFB5D\">Rename</font></a>

如果我在代码中手动键入新主机名,此链接可以完美运行,但我如何将 newHostName 变量从文本框中传递到带有 PHP 的 URL 中?

【问题讨论】:

  • 为什么你的双引号用``转义了?你的其余代码是什么样的。

标签: php api digital-ocean


【解决方案1】:

这是您提供的代码:

<a href=\"https://api.digitalocean.com/droplets/$serverid/rename/?client_id=$myClientID&api_key=$myDOApi&name=newHostName\" target=\"_blank\">
<font color=\"#CCFB5D\">Rename</font></a>

然后你说:

…but how would I pass a newHostName variable from a text box into the url with PHP as it is submitted?

为什么不直接创建一个这样的 URL 并将 $newHostName 设置为变量 $newHostName

https://api.digitalocean.com/droplets/$serverid/rename/?client_id=$myClientID&api_key=$myDOApi&name=$newHostName

但是缺少您的代码。为什么双引号会像这样\" 转义?您有一个 PHP 标记,但实际的 PHP 在哪里?它是否已经是已经存在双引号的较大字符串的一部分?

假设是善意的,为什么您的代码(如所展示的)不能改为这样?

echo '<a href="https://api.digitalocean.com/droplets/' . $serverid . '/rename/?client_id=' . $myClientID . '&api_key=' . $myDOApi . '&name=' . $newHostName . '" target="_blank">
<font color="#CCFB5D">Rename</font></a>';

或者也许使用sprintf 使内容更具可读性:

echo sprintf('<a href="https://api.digitalocean.com/droplets/%s/rename/?client_id=%s&api_key=%s&name=%s" target="_blank">', $serverid, $myClientID, $myDOApi, $newHostName)
   . '<font color="#CCFB5D">Rename</font></a>'
   ;

【讨论】:

  • 代码直接来自 Digital Ocean Api 用于重命名水滴,它不是我创建的。如何从文本框中获取 $newHostName 变量的值到 url
  • @user3612846 这段代码在哪里?为什么不分享链接?看这里我看不出你的例子来自哪里:developers.digitalocean.com/droplets
  • @user3612846 您应该将该 URL 添加到您的答案中。但它仍然没有解释你的代码来自哪里。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-19
  • 2014-09-09
  • 2018-05-20
  • 2011-09-22
  • 2014-01-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多