使用PHP$_GET[在同一个PHP文件中显示不同的内容-有其他方法吗



通常我使用$_GET来捕获URL参数并根据参数显示内容。

<?php
function isCmd($cmd) {
if(isset($_GET["cmd"]))
if($_GET["cmd"] == $cmd)
return TRUE;
return FALSE;
}
if(isCmd("page1")) {
echo "<p>That is page 1</p>";
}
else if(isCmd("page2")) {
echo "<p>That is page 2</p>";
}
else if(isCmd("page3")) {
echo "<p>That is page 3</p>";
}
else {
echo "<p>That is the normal page</p>";
}

url看起来像这样example.com/script.php
example.com/script.phpcmd=page1
example.com/script.phpcmd=page2
example.com/script.phpcmd=page3

它按预期工作,但我在网站上看到他们可以做的只是:
example.com/script.php第1页
example.com/script.php第2页
example.com/script.phppage3
,如果没有cmd=,它就会工作

我怎么能在PHP中做同样的事情?

在查看$_GET超变量后,我自己回答了这个问题。这比我想象的要容易。

function isCmd($cmd) {
if(isset($_GET["$cmd"]))
return TRUE;
return FALSE;
}
if(isCmd("page1")) {
echo "<p>That is page 1</p>";
}
else if(isCmd("page2")) {
echo "<p>That is page 2</p>";
}
else if(isCmd("page3")) {
echo "<p>That is page 3</p>";
}
else {
echo "<p>That is the standard page</p>";
}

也适用于$_GET。它也适用于$_SERVER["QUERY_STRING"]。

您可以使用$_SERVER["QUERY_STRING"],它将返回URL中"?"之后的字符串。

最新更新