所以基本上我试图做的是如果网址内容看起来像这样:
www.some.com/dir/?variable=VAR&variable2=VAR2
。
然后服务器会选择它,我可以将它添加到变量,如:
$var = [variable];
echo '<tag>'.$var.'</tag>';
那会产生;
<tag>VAR</tag>
很抱歉由于缺少代码,我不知道如何使用PHP进行此操作,我的搜索结果显示为空白。
答案 0 :(得分:3)
您要做的是遍历您的$ _GET变量并将其打印出来。 $ key是可变的,$ value是VAR。打印键值组合使用此。要打印正值,请删除&#39; $键是&#39;一部分。
<?php
foreach($_GET as $key=>$value)
{
echo "<tag>$key is $value</tag>";
}
答案 1 :(得分:2)
这些变量称为query parameters,在PHP中,可以使用$_GET
superglobal访问它们。
要使用您的示例,网址www.some.com/dir/?variable=VAR&variable2=VAR2
将$_GET['variable']
填充'VAR'
,$_GET['variable2']
填充'VAR2'
。
您可以像代码中的任何位置一样访问$_GET
,因此将其内容放在HTML代码中应该很简单:
<tag><?php echo $_GET['variable'] ?></tag>
<tag><?php echo $_GET['variable2'] ?></tag>
请记住,这会显示HTML injection vulnerability。例如,用户可以访问URL www.some.com/dir/?variable=<script>doUnfortunateThings()</script>
,您的脚本将尽职尽责地呈现
<tag><script>doUnfortunateThings()</script></tag>
页面加载时浏览器将执行哪些操作。这可能没问题,因为只有用户搞乱URL才能看到它,但是根据页面的其余部分,它可能会带来安全风险,甚至可能被页面上或服务器上运行的其他脚本永久化。它还可以绕过您的网站运行的任何content security policy设置,具体取决于配置方式(如果有的话)。
最好在任何用户输入上使用内置的PHP函数htmlspecialchars,然后再在页面上显示它,以防止浏览器实际呈现任何html标记。
<tag><?php echo htmlspecialchars($_GET['variable']) ?></tag>
<tag><?php echo htmlspecialchars($_GET['variable2']) ?></tag>
答案 2 :(得分:1)
如果你已经知道url中的变量名,那么你可以将它用作数组索引:
$variable = $_GET["var_name"];
在你的情况下:
$variable = $_GET["variable"];
$variable2 = $_GET["variable2"];