获取$ _GET和$ _POST值,但不是$ _COOKIE值

时间:2014-01-31 14:38:26

标签: php superglobals

我想使用$ _REQUEST,但如果它来自cookie,我不想要它的值。做这个的最好方式是什么?这就是我目前的做法。感谢

$value=isset($_GET['name'])?$_GET['name']:(isset($_POST['name'])?$_POST['name']:NULL);

2 个答案:

答案 0 :(得分:1)

只需为您制作一个执行此逻辑的功能:

function fromCookielessRequest($key) {
    if (isset($_GET[$key])) {
        return $_GET[$key];
    }
    if (isset($_POST[$key])) {
        return $_POST[$key];
    }
    return null;
}

$name     = fromCookielessRequest('name');
$password = fromCookielessRequest('password');

答案 1 :(得分:1)

  

我想使用$ _REQUEST,但如果它来自cookie,我不想要该值。

这是两个相互排斥的陈述,我担心。根据{{​​3}},$_REQUEST是:

  

一个关联数组,默认包含$ _GET,$ _POST和$ _COOKIE的内容。

如果您只想使用$_GET$_POST ,那么您将不得不单独使用它们。

一般来说,最好是抽象基础架构依赖项,这样你就可以创建一个函数(或者更好的是一个对象)来获取你正在寻找的值。也许就像这样简单:

$_COOKIE