当我希望它始终被设置时,我应该检查isset($ _ GET [...])吗?

时间:2017-03-16 18:46:18

标签: php get isset

我最近被安置在一个带有PHP的项目上,而且我对PHP知之甚少。站点中有几个实例,在单击按钮时,用户被重定向到具有一些URL参数的另一个页面。然后,下一页使用$_GET获取这些参数并继续。

代码中的另一个问题导致页面重新加载没有参数的第二页,因此使用$_GET会返回错误,但是如果修复了其他问题,我无法想到为什么参数不会存在。

在调试时,我发现建议始终使用$_GET检查isset(),但理论上,当那些参数不存在时,应该永远不会有实例(否则其他东西确实是错误的服务器或代码)。

是否仍然值得进行检查并制定备份解决方案,即使不需要它也是如此?我想确保我不会忽视其他一些我可能不知道的潜在问题。

2 个答案:

答案 0 :(得分:3)

在应用任何逻辑之前,最好先检查一下你的变量。

建议使用

!empty()代替isset(),因为它会检查该变量是否已初始化并且也有一些值。

如果数组count($array)>0可以用作检查。

为何使用!empty()点击此处: - !empty() Vs isset()

答案 1 :(得分:1)

如果您期望或要求通过$ _GET发送数据,您应该检查它是否已设置。特别是因为可以容易地操纵该数据。也像@Alive to Die说!empty()更好。

  

isset()检查变量是否包含值(False,0或   空字符串),但不是NULL。如果var存在则返回TRUE;假   除此以外。另一方面,empty()函数检查是否   变量的空值为空字符串,0,NULL或False。