我只是打开通知,因为它有一些我需要调试的重要信息......据说,我发现未定义的变量是一个真正的痛苦.
例如,要删除未定义的变量通知,我必须转换以下代码:
if($the_month != $row['the_month'])
Run Code Online (Sandbox Code Playgroud)
成
if(isset($the_month) && $the_month != $row['the_month'])
Run Code Online (Sandbox Code Playgroud)
还有另一种方法吗?这个解决方案对我来说似乎浪费时间.
在使用之前定义变量.这是唯一确定的方法.
许多Web主机仍然register_globals启用.这允许任何访问者通过向查询字符串添加内容将变量注入到脚本中.
例如,如果您的脚本被调用为example.php?the_month=5,则变量$the_month将自动填充为5.这可能非常危险,因为有人可能会弄乱与安全性相关的重要变量!因此,register_globals现已弃用.
但这并没有改变许多Web主机仍然启用它的事实,因此每个PHP开发人员必须在使用之前将每个变量定义为安全的东西.否则,您无法保证变量将包含您的想法.
这个答案可能会有所帮助,因为它类似:
例如:
您可以使用错误抑制运算符@运行它.
echo @$variable;但是,最好不要忽略未设置的变量.未设置的变量可能表示脚本存在逻辑错误,最好确保在使用前设置所有变量.
| 归档时间: |
|
| 查看次数: |
3426 次 |
| 最近记录: |