【问题标题】:Error reporting in php session [closed]php会话中的错误报告[关闭]
【发布时间】:2014-08-05 23:18:39
【问题描述】:

我已将我的项目移至笔记本并安装 wamp。之后,在我的页面上出现错误

注意:未定义的索引:第 4 行调用堆栈上 index.php 中的电子邮件

在这条线上有$_SESSION['name'];,我需要这个会话。

我正在到处寻找如何解决这个问题,php.ini 中有一些解决方案吗?

我无法更改 php 文件。

解决方案 首先,感谢您的回答!我找到了解决方案: 只需编辑 php.ini 并设置:

error_reporting = 0

【问题讨论】:

  • $_SESSION['email'] = 'problem@solved.com';.
  • 你的解决方案...你不能认真...告诉我你不认真!
  • @JustSid ,我的解决方案?为什么???

标签: php session reporting


【解决方案1】:

不要隐藏错误消息。而是处理它们,

这个未定义的索引是由于你试图从一个数组中获取一个值而触发的,而数组中的键不存在。

例子:

 echo $_SESSION['Testing'];

我没有开始会话,也没有向会话数组添加任何内容。所以key不存在,所以会触发未定义索引通知。

 session_start();
 echo $_SESSION['Testing'];

同上一个例子。

 session_start();
 $_SESSION['Testing'] = "Hello World";
 echo $_SESSION['Testing'];

这不会生成任何消息,因为键存在于数组中。

示例 2:

if (isset($_SESSION['Testing'])){
  echo "Value Exists";   
}else{
  echo "Value does not exist"; 
}

这将检查数组键是否存在。如果存在,则打印该值存在。如果不存在,则打印该值不存在。

【讨论】:

  • 感谢您的回答!但是在我的电脑上我没有问题。我问有没有办法改变 php.ini 并将错误报告设置为不显示错误?
  • @shapic94 有一种方法,不过我会反对它。就好像它是一个本地开发区一样,您应该将错误报告设置为 E_ALL 和 Strict。因此,您可以在出现错误时以及在生产中处理错误。您没有未处理错误的任何潜在问题/并发症
  • @shapic94 PHP.ini,获得 +2 票的最佳答案。 stackoverflow.com/questions/10711517/… 在 php.ini 中更改它并重新启动 Apache 服务
  • 谢谢两位,我找到了解决方案。但以后我会小心处理,再次感谢!
猜你喜欢
  • 2013-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-22
  • 1970-01-01
  • 1970-01-01
  • 2012-03-27
相关资源
最近更新 更多