我正在尝试获取以下网址,以使用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>
如果我在代码中手动输入新的主机名,这个链接可以正常工作,但是如何在提交时使用PHP将newHostName
变量从文本框传递到URL中?
答案 0 :(得分: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?
为什么不直接制作这样的网址并将$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>'
;