PHP空白頁面常見原因及解決方法_PHP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:PHP編程中break及continue兩個流程控制指令
      講解一下PHP腳本編程中 break 及 continue 兩個流程控制指令。 break 用來跳出目前執行的循環,如下例 以下為引用的內容: <?php $i = 0; while ($

      編寫PHP,難免會出現錯誤。其實出現錯誤也不難解決,最難解決的是出現空白頁面。大家想想看,若編寫PHP出現錯誤,可以根據錯誤的提示來改正,倘若PHP什么也不給你顯示,那豈不是讓編寫者困撓不以?下面,我就把我在編寫PHP時總結出來的有關PHP空白頁面的解決方法以及產生原因。當然,本人寫PHP并不是很高手,所以如果有錯誤,請不惜指出。

      1、動作未定義

      先請大家看一看下面的代碼:

      以下為引用的內容:
      [code]
      <?php
      $action = $_GET['id'];
      if($action == '')
      $action = 1;
      if($action == 1) {
      echo("\$action's value is 1");
      } else if($action == 2) {
      echo("\$action's value is 2");
      }
      ?>
      [/code]

      這段代碼大家看得很明白,就是如果$action變量為空時將它設為1,然后判斷$action變量的值而做出不同的事件。當然,假如$action既不等于1,也不等于2的時候,PHP會做什么呢??——什么也不會做,所以就會產生了空白的頁面。知道了原因,解決就容易了。關于這個問題的解決,很簡單,在if模塊后加一個else就可以了。

      2、語法錯誤

      大家可能會問了,如果出現語法錯誤,一般會有錯誤提示的,怎么會空白呢?當然,這只是一些個別現象,在某些主頁空間中(比如中國聚網的免費空間),如果你寫得PHP有語法錯誤,它也不會有任何提示。解決也很容易,在上傳文件之前在本地測試,找出錯誤的代碼進行改正。

      3、邏輯錯誤

      這個問題是最難排除的,從表面上看,也許代碼是合法的,是正規的,可運行起來卻不是預料之中的。為什么呢?我想,也許是編寫者想得不夠全面,畢竟人是人,計算機是計算機,計算機不可能完全按照人的思路去運行腳本。在這里,我告訴大家一個比較好的調試方法,就是使用注釋符“/* */”,注釋掉一些代碼,觀察運行情況。要想完全排除邏輯錯誤,沒有耐心是不行的,所以要靜下心來,不要著急。

      4、濫用錯誤抑制符

      錯誤抑制符“@”常常用于可能會發生錯誤的地方,但是抑制符使用過多或使用得不是時候,也可能導致空白也免得出現,來看看下面兩個PHP腳本吧:

      test1.php

      以下內容為程序代碼:

      以下為引用的內容:
      <?php
      @include("test2.php");
      echo($var);
      ?>

      test2.php

      以下內容為程序代碼:

      以下為引用的內容:
      <?php
      $var = "Hi" //這行代碼有錯誤,沒有分號
      $var1 = "Hello" //同上
      ?>


      運行test1看看,結果就產生了空白的頁面。糾正也很簡單,可以去掉include函數前面的抑制符,或者更正test2.php文件中的錯誤。


      其實,產生空白頁面的原因可能會是更復雜、更難排除的原因,這里所列出來的只是最有可能出現的,只要認真分析了代碼,其實排除錯誤也是很簡單的事情。

      分享:5種方法讓您成為php開發高手
      國外著名站長blog開發者指南developertutorials.com發表了一篇《5種方法讓您成為php開發高手》,筆者簡單翻譯了一下,有錯誤請批評指教。 我們經常會在聊天室或論壇里遇到php初學者問各種各樣

      來源:模板無憂//所屬分類:PHP教程/更新時間:2008-08-22
      相關PHP教程