Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
简单的PHP获取问题_Php_Get - Fatal编程技术网

简单的PHP获取问题

简单的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

更新:

下面给出的所有方法都不适用

工作对象:

mysite.com?用户名=me&action=editpost

但仅限于:

mysite.com?action=editpost


我知道如何检测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'];