通常我使用$_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中"?"之后的字符串。