简单的PHP获取问题
更新: 下面给出的所有方法都不适用 工作对象: mysite.com?用户名=me&action=editpost 但仅限于: mysite.com?action=editpost简单的PHP获取问题,php,get,Php,Get,更新: 下面给出的所有方法都不适用 工作对象: mysite.com?用户名=me&action=editpost 但仅限于: mysite.com?action=editpost 我知道如何检测url中是否存在特定的GET方法: $username = $_GET['username']; if ($username) { // whatever } 但我如何才能检测到这样的东西: http://www.mysite.com?username=me&action=editp
我知道如何检测url中是否存在特定的GET方法:
$username = $_GET['username'];
if ($username) {
// whatever
}
但我如何才能检测到这样的东西:
http://www.mysite.com?username=me&action=editpost
如何检测上面的“&操作”
或
顺便说一句,该方法称为
GET
。您的意思是参数。所有GET参数都可以以相同的方式访问
$username = $_GET['username'];
$action = $_GET['action'];
if ($username) {
// whatever
}
if ($action == 'editpost') {
// whatever
}
但是,如果空字符串(或任何内容)是有效值,则只需使用以下内容:
if (isset($_GET['action'])) {
$action= $_GET['action'];
// Do stuff with $action
}
未设置操作时,使用
$\u GET['action']
将根据错误报告级别生成通知 您可以执行以下操作:
if(array_key_exists('action', $_GET)){ // returns a boolean
// do something
}
相同的方法-$\u GET是一个数组
$action = $_GET['action'];
尝试
print\r($\u GET)
查看其中的内容url中的参数从左到右分配给$\u GET数组
如果你有
?username=me&action=editpost&somekey=somevalue&action=&someotherkey=someothervalue
然后,第一个“editpost”将被指定为操作,但随后它将被替换为“”并作为结果
$_GET['action'] = ''; (instead of 'editpost')
与用户名相同:
$action = $_GET['action'];
嗯<代码>$\u获取['action']?(我不是想居高临下,我自己也不太懂PHP。)你说“检测”是什么意思?在您的URL示例中,您只需在
$\u GET
中有两个参数,并且始终可以检查这两个参数……为什么这被否决了?TMTOWTDI。我们可以讨论哪一个是最好的。关于你的更新:这很奇怪,它们应该可以工作。当请求mysite.com/?username=me&action=editpost
时,你能发布var\u dump($\u GET)
的输出吗?下面给出的所有方法都不适用于:你是认真的吗?然后,您的Web服务器出现错误,或者URL包含一些邪恶的、不可见的字符。秒。。。该死。但你是菲利克斯,所以没关系@米德斯:啊,我记得。问候:-D
$action = $_GET['action'];
?username=me&action=editpost&somekey=somevalue&action=&someotherkey=someothervalue
$_GET['action'] = ''; (instead of 'editpost')
$action = $_GET['action'];