0

我正在尝试获取下面的 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 中?

4

1 回答 1

0

这是您提供的代码:

<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>'
   ;
于 2014-05-08T15:34:29.567 回答