有没有更好的方法来检查PHP中的POSTed变量?
-
06-07-2019 - |
题
我发现在我的PHP页面中,我最终得到的行和代码行如下所示:
$my_id = isset(我发现在我的PHP页面中,我最终得到的行和代码行如下所示:
<*>
是否有更好,更简洁或更易读的方法来检查此数组并将它们分配给局部变量(如果它们存在)或应用默认值(如果它们不存在?)
编辑:我不想使用 register_globals()
- 无论如何我仍然有问题。
REQUEST['my_id']) ? 我发现在我的PHP页面中,我最终得到的行和代码行如下所示:
<*>
是否有更好,更简洁或更易读的方法来检查此数组并将它们分配给局部变量(如果它们存在)或应用默认值(如果它们不存在?)
编辑:我不想使用 register_globals()
- 无论如何我仍然有问题。
REQUEST['my_id'] : '';
$another_var = isset(我发现在我的PHP页面中,我最终得到的行和代码行如下所示:
<*>
是否有更好,更简洁或更易读的方法来检查此数组并将它们分配给局部变量(如果它们存在)或应用默认值(如果它们不存在?)
编辑:我不想使用 register_globals()
- 无论如何我仍然有问题。
REQUEST['another_var']) ? 我发现在我的PHP页面中,我最终得到的行和代码行如下所示:
<*>
是否有更好,更简洁或更易读的方法来检查此数组并将它们分配给局部变量(如果它们存在)或应用默认值(如果它们不存在?)
编辑:我不想使用 register_globals()
- 无论如何我仍然有问题。
REQUEST['another_var'] : 42;
...
是否有更好,更简洁或更易读的方法来检查此数组并将它们分配给局部变量(如果它们存在)或应用默认值(如果它们不存在?)
编辑:我不想使用 register_globals()
- 无论如何我仍然有问题。
解决方案
如何将它包装在函数中?
<?php
function getPost($name, $default = null) {
return isset(如何将它包装在函数中?
<*>POST[$name]) ? 如何将它包装在函数中?
<*>POST[$name] : $default;
}
其他提示
更好的方法可能是创建一个单例/静态类来抽象出检查请求数据的细节。
类似的东西:
class Request {
private $defaults = array();
private static 更好的方法可能是创建一个单例/静态类来抽象出检查请求数据的细节。
类似的东西:
# get an instance of the request
$request = Request::getInstance();
# pass in defaults.
$request->setDefaults(array('name'=>'Please Specify'));
# access properties
echo $request->name;
echo $request->email;
然后你可以这样做:
<*>
我认为这会使你的个人脚本加载更清晰,并抽象出验证等。加上这个设计的范围,以扩展它/添加替代行为,添加更复杂的默认处理等等。
instance = false;
function getInstance () {
if (!self::更好的方法可能是创建一个单例/静态类来抽象出检查请求数据的细节。
类似的东西:
<*>
然后你可以这样做:
<*>
我认为这会使你的个人脚本加载更清晰,并抽象出验证等。加上这个设计的范围,以扩展它/添加替代行为,添加更复杂的默认处理等等。
instance) {
$c = __CLASS__;
self::更好的方法可能是创建一个单例/静态类来抽象出检查请求数据的细节。
类似的东西:
<*>
然后你可以这样做:
<*>
我认为这会使你的个人脚本加载更清晰,并抽象出验证等。加上这个设计的范围,以扩展它/添加替代行为,添加更复杂的默认处理等等。
instance = new $c;
}
return self::更好的方法可能是创建一个单例/静态类来抽象出检查请求数据的细节。
类似的东西:
<*>
然后你可以这样做:
<*>
我认为这会使你的个人脚本加载更清晰,并抽象出验证等。加上这个设计的范围,以扩展它/添加替代行为,添加更复杂的默认处理等等。
instance;
}
function setDefaults($defaults) {
$this->defaults = $defaults;
}
public function __get($field) {
if (isset(更好的方法可能是创建一个单例/静态类来抽象出检查请求数据的细节。
类似的东西:
<*>
然后你可以这样做:
<*>
我认为这会使你的个人脚本加载更清晰,并抽象出验证等。加上这个设计的范围,以扩展它/添加替代行为,添加更复杂的默认处理等等。
REQUEST[$field]) && !empty(更好的方法可能是创建一个单例/静态类来抽象出检查请求数据的细节。
类似的东西:
<*>
然后你可以这样做:
<*>
我认为这会使你的个人脚本加载更清晰,并抽象出验证等。加上这个设计的范围,以扩展它/添加替代行为,添加更复杂的默认处理等等。
REQUEST[$field])) {
return 更好的方法可能是创建一个单例/静态类来抽象出检查请求数据的细节。
类似的东西:
<*>
然后你可以这样做:
<*>
我认为这会使你的个人脚本加载更清晰,并抽象出验证等。加上这个设计的范围,以扩展它/添加替代行为,添加更复杂的默认处理等等。
REQUEST['field'];
} elseif (isset($this->defaults[$field])) {
return $this->defaults[$field];
} else {
return ''; # define a default value here.
}
}
}
然后你可以这样做:
<*>
我认为这会使你的个人脚本加载更清晰,并抽象出验证等。加上这个设计的范围,以扩展它/添加替代行为,添加更复杂的默认处理等等。
首先,对POSTed变量使用 $ _ POST
。 $ _ REQUEST
是许多不同传入变量的混搭,而不仅仅是 $ _ POST
,可能会导致问题。
您的问题的一个解决方案是创建一个处理 isset()
逻辑的函数。
function ForceIncomingValue($Key, $Default) {
if (!isset(首先,对POSTed变量使用 $ _ POST
。 $ _ REQUEST
是许多不同传入变量的混搭,而不仅仅是 $ _ POST
,可能会导致问题。
您的问题的一个解决方案是创建一个处理 isset()
逻辑的函数。
<*>POST[$Key]))
return $Default;
else return 首先,对POSTed变量使用 $ _ POST
。 $ _ REQUEST
是许多不同传入变量的混搭,而不仅仅是 $ _ POST
,可能会导致问题。
您的问题的一个解决方案是创建一个处理 isset()
逻辑的函数。
<*>POST[$Key];
}
首先,永远不要使用$ _REQUEST变量,它会在开发过程中导致错误和其他问题
<代码>function getPOST($key) { if(isset(
首先,永远不要使用$ _REQUEST变量,它会在开发过程中导致错误和其他问题
function getPOST($key, $default = NULL) { if(isset(首先,永远不要使用$ _REQUEST变量,它会在开发过程中导致错误和其他问题
function getPOST($key) { if(isset(
首先,永远不要使用$ _REQUEST变量,它会在开发过程中导致错误和其他问题
<*> <代码>
请注意,当$ _POST [$ key]
未设置时,此代码会将变量留空您还可以调整该代码,以便在无法加载值时为您提供(合理的)默认值。
<*>POST[$key])) { return首先,永远不要使用$ _REQUEST变量,它会在开发过程中导致错误和其他问题
<*> <代码>
请注意,当$ _POST [$ key]
未设置时,此代码会将变量留空您还可以调整该代码,以便在无法加载值时为您提供(合理的)默认值。
<*>POST[$key]; } }
请注意,当$ _POST [$ key]
未设置时,此代码会将变量留空
您还可以调整该代码,以便在无法加载值时为您提供(合理的)默认值。
<*>POST[$key])) { return首先,永远不要使用$ _REQUEST变量,它会在开发过程中导致错误和其他问题
<代码>function getPOST($key) { if(isset(
首先,永远不要使用$ _REQUEST变量,它会在开发过程中导致错误和其他问题
<*> <代码>
请注意,当$ _POST [$ key]
未设置时,此代码会将变量留空您还可以调整该代码,以便在无法加载值时为您提供(合理的)默认值。
<*>POST[$key])) { return首先,永远不要使用$ _REQUEST变量,它会在开发过程中导致错误和其他问题
<*> <代码>
请注意,当$ _POST [$ key]
未设置时,此代码会将变量留空您还可以调整该代码,以便在无法加载值时为您提供(合理的)默认值。
<*>POST[$key]; } }
请注意,当$ _POST [$ key]
未设置时,此代码会将变量留空
您还可以调整该代码,以便在无法加载值时为您提供(合理的)默认值。
<*>POST[$key]; } else { return $default; } } <代码> 请注意,当$ _POST [$ key]
未设置时,此代码会将变量留空
您还可以调整该代码,以便在无法加载值时为您提供(合理的)默认值。
<*>POST[$key])) { return首先,永远不要使用$ _REQUEST变量,它会在开发过程中导致错误和其他问题
<*> <代码> 请注意,当$ _POST [$ key]
未设置时,此代码会将变量留空
您还可以调整该代码,以便在无法加载值时为您提供(合理的)默认值。
<*>POST[$key]; } } <代码> 请注意,当$ _POST [$ key]
未设置时,此代码会将变量留空
您还可以调整该代码,以便在无法加载值时为您提供(合理的)默认值。
<*>在脚本编写时您期望知道的变量集,或者您是否想要为任意值集合执行此操作?如果前者是真的,你可以这样做:
# This array would hold the names of all the variables you're expecting
# and a default value for that variable name
$variableNames = array (...);
foreach ($variableNames as $key => $default) {
if (isset (在脚本编写时您期望知道的变量集,或者您是否想要为任意值集合执行此操作?如果前者是真的,你可以这样做:
<*>
基本上,这利用了PHP能够评估变量来创建其他变量(因此$$键的双元 - 这意味着创建一个名为$ key值的新变量)。
我还没有找到解决后一种情况的好方法。
REQUEST[$key])) $key = 在脚本编写时您期望知道的变量集,或者您是否想要为任意值集合执行此操作?如果前者是真的,你可以这样做:
<*>
基本上,这利用了PHP能够评估变量来创建其他变量(因此$$键的双元 - 这意味着创建一个名为$ key值的新变量)。
我还没有找到解决后一种情况的好方法。
REQUEST[$key];
else $key = $default;
}
基本上,这利用了PHP能够评估变量来创建其他变量(因此$$键的双元 - 这意味着创建一个名为$ key值的新变量)。
我还没有找到解决后一种情况的好方法。
PHP的null 合并运算符中!
$ username = $ _GET ['user'] ?? '无人'; 代码>
对于很多变量,通过需求检查,任何人都可以自由使用我的 expect
function 。