我想使用 $_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);
只需创建一个为您执行此逻辑的函数:
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');
我想使用 $_REQUEST,但如果它来自 cookie,我不想要该值。
恐怕这是两个相互排斥的陈述。根据PHP 文档,$_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?
}