程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP入門知識 >> 用php制作友好的404錯誤頁面

用php制作友好的404錯誤頁面

編輯:PHP入門知識

如果訪問您站點的用戶由於各種原因暫時出現無法訪問頁面的錯誤,如何給他一個友好的答復,並且你也知道發生了這個錯誤,看看下面這段程序,是用來定制404錯誤頁面和發通知給網管。

以下為引用的內容:

<?php
# 設置 $domain 為你的域名 (注意沒有www)
$domain = "oncoding.net";
# 設置URL,注意沒有後劃線 /
$docroot = "http://oncoding.net";
# 設置錯誤信息的字體
$fontface = "Verdana";
# 設置404頁面的字體大小
$fontsize = "2";
# 設置404頁面的背景顏色,缺省是白色
$bgcolor = "#ffffff";
# 設置文字顏色,缺省是黑色
$textcolor = "#000000";

# 使用 $reportlevel 變量來控制是否發信給網管
# 0 = 根本不用發信,嘿,NB的我們怎麼會出錯呢
# 1 = 只有在頁面含有你的DOMAIN NAME時才發信
# 2 = 即使是與我連接出現的斷連也發信,有可能是友情站點
$reportlevel = 2;  //這種最保險了

$emailaddress = "[email protected]"; //設置收錯誤信息的郵箱


function print_details()
  {
   # Request access to the global variables we need
   global $fontface, $fontsize, $docroot, $REQUEST_URI, $reportlevel;
   global $bgcolor, $textcolor;

   # Print the 404 error in web format
   echo "<html><head><title>404 沒有找到頁面</title></head>";
   echo "<body bgcolor="$bgcolor" text="$textcolor">";
   echo "<b><h1>404 對不起,我沒有找到您要求的頁面</h1></b>";
   echo "<p><font face="$fontface" size="$fontsize">";
   echo "oncoding編碼營提醒您,您要求的頁面 $docroot$REQUEST_URI, doesn't exist";
   echo " on this server.</font></p>";

   if ($reportlevel != 0)
     {
      echo "<p><font face="$fontface" size="$fontsize">";
      echo "錯誤信息已經發送到oncoding編碼營管理員信箱.";    
     }

   return;
  }


# EMAIL處理函數  

function send_email()
  {
   # Request access to the global variables we need
   global $REQUEST_URI, $HTTP_REFERER, $emailaddress, $REMOTE_ADDR, $docroot;

   # 定制發送的消息,如時間地點等.
   $today = getdate();  
   $month = $today[mon];  
   $mday = $today[mday];  
   $year = $today[year];  
   $hours = $today[hours];
   $minutes = $today[minutes];
   $errortime = "$month/$mday/$year at $hours:$minutes";  

   # Create the body of the email message
   $message .= "404 Error ReportnnA 404 error was encountered by $REMOTE_ADDR";
   $message .= " on $errortime.nn";
   $message .= "The URI which generated the error is: n$docroot$REQUEST_URInn";
   $message .= "The referring page was:n$HTTP_REFERERnn";

   # Send the mail message. This assumes mail() will work on your system!
   mail("$emailaddress", "404 Error Report", $message, "From: $emailaddress");  //發送信息 
    
   return;
  }


# 下面這些是根據變量$reportlevel的設置來發信與否。
print_details();

# See whether or not we should send an email report. If so, do it.
if ($reportlevel != 0)                   
  if ($reportlevel == 1) {               
    if (eregi($domain,$HTTP_REFERER))    
      send_email(); }
  else
     send_email();                        

# All done!
exit;

?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved