我想用$ _REQUEST,但我不希望值,如果它从一个cookie来了。做这个的最好方式是什么?这是我目前的做法。由于
$value=isset($_GET['name'])?$_GET['name']:(isset($_POST['name'])?$_POST['name']:NULL);
我想用$ _REQUEST,但我不希望值,如果它从一个cookie来了。做这个的最好方式是什么?这是我目前的做法。由于
$value=isset($_GET['name'])?$_GET['name']:(isset($_POST['name'])?$_POST['name']:NULL);
我想用$ _REQUEST,但我不希望值,如果它从一个cookie来了。
这些是两个互斥的陈述,恐怕。据the PHP docs,$_REQUEST
是:
的关联数组默认包含_GET,$ _ POST和$ _COOKIE的内容。
如果你只想使用$_GET
和$_POST
和明确不想$_COOKIE
那么你就必须单独使用。
总的来说这是一个好主意,抽象的基础设施的依赖,所以你可以做一个函数(或者更好的是,一个对象),它可以让你要寻找的值。也许这样简单:
function getRequestValue($name) {
if (isset($_GET[$name])) {
return $_GET[$name];
}
if (isset($_POST[$name])) {
return $_POST[$name];
}
// throw an error? return a default value or null?
}
谢谢大卫,你和约翰所见略同! – user1032531
只是做一个函数,它这个逻辑你:
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');
感谢约翰,看起来我必须继续做类似我怎么过。 – user1032531
任何你想使用$ _REQUEST而不是特定的$ _GET或$ _POST的原因? –
因为我的代码不关心它的,只要它是那种两个人来。对于其他方面,我非常需要知道它是否是POST,但这不是其中之一。感谢 – user1032531
如果你_永远_想'$ _COOKIE'阵列...你可以改变'variables_order'将它排除在外,所以它不会读,对于'$ _REQUEST',也不会使超全局。 – Wrikken