加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何在PHP中“正确”处理$_GET变量?

发布时间:2020-12-13 18:26:49 所属栏目:PHP教程 来源:网络整理
导读:目前,我有以下代码: if(isset($_GET['mid']) !empty($_GET['mid'])) { $mid = $_GET['mid']; if(is_numeric($mid) $mid 0) { if(isset($_GET['op']) !empty($_GET['op'])) { $op = $_GET['op']; if($op == 'info') { } if($op == 'cast') { } } }} 但我认为
目前,我有以下代码:
if(isset($_GET['mid']) && !empty($_GET['mid'])) {
    $mid = $_GET['mid'];

    if(is_numeric($mid) && $mid > 0) {
        if(isset($_GET['op']) && !empty($_GET['op'])) {
            $op = $_GET['op'];

            if($op == 'info') {
            }

            if($op == 'cast') {
            }
        }
    }
}

但我认为if语句中的if语句太“复杂”了……

你会以不同的方式处理吗?你会如何让它变得更简单?

[编辑]一般承认的答案:

好吧,我已经学到了一些我不知道的小细节和新的PHP函数.我认为没有正确的方法可以按照我的要求行事.我显然是以错误的方式使用一些PHP函数,我会解决这个问题.

在我看来,像这样的输入应该使用PHP过滤器函数进行验证/清理,因此我将Arkh的答案标记为已接受.

但是,对于特定的大学项目(PHP代码完全不相关),我将使用他的答案与Tatu的帮助函数构思混合使用.但对于一个不同的项目,我会将他的回答与Ignacio的课堂理念混合使用,因为它看起来更好,更有条理.

我会在中间使用带有FILTER_SANITIZE_NUMBER_FLOAT过滤器的 filter_input.像这样的东西:
$mid = filter_input(INPUT_GET,'mid',FILTER_SANITIZE_NUMBER_FLOAT);
$op = filter_input(INPUT_GET,'op');
if($mid > 0){
  switch($op){
    case 'info':
      // Some code
      break;
    case 'cast':
      // Some more code
      break;
    default:
      break;
  }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读