filter_input
是正确的方式。如果它没有返回任何有效的内容,它将返回null
:
$myvar = filter_input( INPUT_POST, \'something\', FILTER_SANITIZE_STRING );
if ( empty( $myvar ) ) {
// Do whatever you would have done for ! isset( $_POST[\'something\'] )
}
// Use $myvar
filter_input
如果找不到请求的索引,则不会抛出任何通知,因此这就像
isset
内置于函数中。
Edit: 只需确保使用FILTER_
要清理或验证,请注意,PHP文档中记录了一些关于这些的问题。对于大多数通用用例,它们应该可以正常工作,但一旦您有了用户输入,就要始终正确地验证它(与直接从$_POST
).