我正在修理我教授为我提供的牙科管理系统上的错误。我一直在XAMPP上查看PHP页面。现在,我的教授使用的是旧版本,我们没有看到任何问题,但是对于当前版本,我看到了很多“通知:使用未定义的常量”通知。如果我无法修复它们,有什么方法可以至少隐藏它们吗?这是我的编码。
$Q8 = $usertab4['Q8'];
if($Q8 == 'No'){
$Q8A == '';
$Q8B == '';
$Q8C == '';
$Q8D == '';
$Q8E == '';
$Q8F == '';
}
else{
$Q8A = $usertab4['Q8A'];
$Q8B = $usertab4['Q8B'];
$Q8C = $usertab4['Q8C'];
$Q8D = $usertab4['Q8D'];
$Q8E = $usertab4['Q8E'];
$Q8F = $usertab4['Q8F'];
}
Q8涉及询问患者是否对某些药物过敏。 Q8A到Q8F涉及询问他/她是否对此过敏。当然,默认情况下,如果患者对Q8说“不”,则不需要回答Q8A到Q8F。但是当Q8回答“否”时,我会收到错误。
<tr>
<td>
<font face = '$font3' size = '1' color = 'Black'> <i> <b> 8. ALLERGIC TO ANY MEDICINE?: </b> </i> </font>  
<font face = '$font3' size = '2' color = 'Black'> <b> $Q8 </b> </font>
</td>
<td>
<font face = '$font3' size = '1' color = 'Black'> <i> <b> IF YES, WHAT?: </b> </i> </font>  
<font face = '$font3' size = '2' color = 'Black'> <b>";
if($Q8A != ''){
print "$Q8A ";
}
if($Q8B != ''){
print "$Q8B ";
}
if($Q8C != ''){
print "$Q8C ";
}
if($Q8D != ''){
print "$Q8D ";
}
if($Q8E != ''){
print "$Q8E ";
}
if($Q8F != ''){
print "$Q8F ";
}
print "</b> </font>
</td>
</tr>
我把上面两个分开了,因为他们在不同的领域。我有很多问题,但一次只有一步。
答案 0 :(得分:2)
我认为在定义常量的地方缺少那个文件。如果缺少输出,即使隐藏错误,输出也不会如预期。但您可以使用error_reporting(0)函数来隐藏错误。但我建议你看看错误的原因,而不是隐藏它。
答案 1 :(得分:0)
您可以使用以下方式关闭错误报告:
error_reporting(0);
答案 2 :(得分:0)
关闭错误报告是个坏主意。如果您仍然想要,可以使用error_reporting(0);
用于隐藏错误的功能。
您需要使用isset()
或empty()
检查变量
喜欢: -
if($Q8A != ''){
print "$Q8A ";
}
可以
if(!empty($Q8A)){
print "$Q8A ";
}
和
$Q8 = (!empty($usertab4['Q8']) ? $usertab4['Q8'] : '');
答案 3 :(得分:0)
在页面的第一行尝试包含此内容
error_reporting(0);
@ini_set('display_errors', 0);
答案 4 :(得分:0)
我不会关闭错误处理,这很危险,因为它显然会隐藏所有错误甚至通知。它们存在是有原因的,毕竟,代码可以运行&#34;罚款&#34;,但是会产生错误的结果,因为某些变量不在那里而且改变了程序的流程。我无法在您提供的代码中看到任何常见问题,因此您可以发布完整的内容甚至可能发布所有消息 - 仅仅选择一个通知并查看该内容并不会有帮助... < / p> 顺便说一句,你的HTML代码的第三行显示$ Q8 - 你打算在那里显示那个文本,还是应该显示该变量的内容?
答案 5 :(得分:0)
我认为您应该将error_reporting
on
放在您的计算机上。
由于您的机器不是生产环境。
检查您是否遗漏了任何文件,包括但代码未找到该文件。
通常,通过设置&#39; error_reporting&#39;来抑制错误。 off
到error_reporting
不是一个好习惯,因为你没有修复错误,你只是想要它们。
如果代码移植到on
为{{1}}的其他服务器上,那么这将是一个很大的问题。