2014-11-14 63 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,那麼這將是一個巨大的問題。