2014-11-14 29 views
0

我固定在牙管理系统的错误我的教授给我提供。我一直在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']; 
    } 

问题8涉及询问患者是否对某些药物过敏。 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> &nbsp 
        <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> &nbsp 
        <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

关闭错误报告是坏主意。如果你仍然希望你可以使用error_reporting(0); 函数来隐藏错误。 你需要isset()empty() 像检查变量: -

if($Q8A != ''){ 
    print "$Q8A "; 
} 

可以

if(!empty($Q8A)){ 
    print "$Q8A "; 
} 

$Q8 = (!empty($usertab4['Q8']) ? $usertab4['Q8'] : ''); 
0

您可以关闭错误与此报告:

error_reporting(0); 
2

我觉得你该文件丢失,其中常量的定义。如果缺少,即使隐藏错误,输出也不会如预期的那样。但是你可以使用error_reporting(0)函数来隐藏错误。但我建议你看看错误的原因,而不是隐藏它。

+0

谢谢。这被证明是一个窍门。 –

0

尝试包括这在你的页面

error_reporting(0); 
@ini_set('display_errors', 0); 
0

我不会关闭错误处理的第一线,这是危险的,因为很明显它会隐藏所有的错误,甚至通知。他们在那里是有原因的,毕竟,代码可能会运行“很好”,但会产生错误的结果,因为某些变量只是不存在而且改变了程序的流程。我看不到你所提供的代码的任何恒定的问题,这样你就可以发布完整的东西,也许甚至是所有封邮件 - 它不利于随便挑一个通知,从这点来看......

BTW ,你的HTML代码的第三行显示$ Q8 - 你打算在那里显示文本,还是应该显示该变量的内容?

0

我觉得你应该把error_reportingon你的机器上。

由于你的机器不是生产环境。

检查你不会错过任何文件,该文件包括在内,但代码没有找到它。

通常,通过将'error_reporting'设置为off来抑制错误并不是一个好的做法,因为您没有修复错误,您只是在阻止它们。

如果代码被移植到不同的服务器上,那么error_reportingon,那么这将是一个巨大的问题。