程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP出錯界面詳細說明,php出錯詳細說明

PHP出錯界面詳細說明,php出錯詳細說明

編輯:關於PHP編程

PHP出錯界面詳細說明,php出錯詳細說明


在web 上所有常見的錯誤之一就是無效的鏈接。一旦從其它站點上出現了無效的鏈接,你會重新安排你 
的站點。人們會將他們喜歡的站點存成書簽,如果在三個月後再次訪問時,僅僅發現的是'404 Not Fount ' 
時,將不會給他們任務幫助,告訴他們如何從你的站點去查找原始的信息。讓我們解決這個問題,或者至少 
給你的用戶一個友好的幫助,一旦他們遇到'a 404' 錯誤時,能夠得到一些痕跡。你可以創建普通的頁面來 
報告在處理你的頁面時所遇到的所有的錯誤。 

PHP 與Apache一起可以很自由地讓你創建自已的出錯頁面,但是需要重新進行配置,並且要編少量的代 
碼。先讓我們學習配置部分。 

Apache的ErrorDocument指示用來指出在出現錯誤時Apache應重定向到哪一個文檔(或URI)。它允許你 
為每一個你的用戶可能遇到的錯誤代碼指定一個資源。通過在你的服務器配置中增加一個ErrorDocument 404 
/error.php指示。這個將在用戶訪問一個不存在的頁面時,重定向到'error.php'中,下面我們就會寫出 
'error.php'頁面。不要忘了重新啟動Apache以使改動生效。 

接著,我們寫出一個簡單的error.php: 

你所請求的文件 (<?=$REDIRECT_URL?> ) 在這個服務器上不存在。 
請查找你想要的文件從 <A HREF="/">前頁</A>。 

現在試著讀取一個在你服務器上不存在的頁面,怎麼樣,你可以看到error.php了,它有著一個良好和 
友好的消息,並且還有一個到前頁的鏈接。 

讓我們把它擴展一下。正如你所見,我在error.php中使用了REDIRECT_URL變量。這個變量是Apache在 
執行了一個ErrorDocument指示時所設置的,並且給出了一種可能來找到原始的資源。在這種情況下,Apache 
還設置了一些別的變量,所有的變量可以在這裡找到。使用這些變量可能創建一個很好的出錯頁面,用於給 
用戶一個不錯與友好的出錯頁面,而代替Apache給出的缺省頁面。 

從PHP頁面中輸出錯誤 
從一個PHP頁面輸出錯誤與模擬Apache對ErrorDocument指示所做的很象,你只要簡單地將用戶重定向, 
通過使用query-string變量,而Apache則通常是設置在環境變量裡面。這樣就可以使用同一個出錯頁面來處 
理各種錯誤。下面是一個例子: 



<?php 

function throw_error($message) { 
$error_page = "/err/error.php"; 

$error_url = $error_page; 
$error_url .= "?REDIRECT_ERROR_NOTES=$message"; 
$error_url .= "&REDIRECT_URL=" . $GLOBALS["PHP_SELF"]; 
$error_url .= "&REDIRECT_REQUEST_METHOD=$REQUEST_METHOD"; 
$error_url .= "&REDIRECT_STATUS=501"; 
Header("Status: 501"); 
Header("Location: $error_url"); 
exit; 


ob_start(); 
// 使用輸出緩沖以便在這頁中的任何地方輸出錯誤 

if(!condition) { 
throw_error("the condition failed"); 


ob_end_flush(); 
// 頁面處理完畢,刷新輸出緩沖 
?>
使用PHP4的輸出緩沖特性對生成一般的出錯報告功能也會有幫助。但是在你確認整個出錯頁面處理完畢 
時,不要忘記刷新緩沖區,你可以在你的代碼中的任可地方通過Header調用來進行重定向。

 

詳細說明:http://php.662p.com/thread-333-1-1.html


php跳轉頁面的問題

a.php(注冊頁面)

b.php(處理頁面,末尾是兩種跳轉方法)

代碼在這兒(刪去不必要的可以測試一下)
a.php
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>test</title><form action="b.php" name="myform" method="post"> 姓名:<input type="text" value="Geek信條" name="name"> <br /> 性別:<input type="text" value="男" name="sex"> <br /> 年齡:<input type="text" value="30" name="age"> <br /> 地址:<input type="text" value="weibo.com/512656752" name="address"> <br /><input type="submit" value="提交"></form></html>b.php
<?php $data['name'] = $_POST['name']; $data['sex'] = $_POST['sex']; $data['age'] = $_POST['age']; $data['address'] = $_POST['address']; // 輸出查看你提交上來的信息 print_r($data); // 處理提交上來的信息 function check_name(){ // 處理方法 } function check_sex(){ } . . . // 等等的處理提交上來的數據的方法,處理完後,跳轉頁面 // 利用HTTP頭信息重定向 $url = 'a.php'; Header("Location:".$url); // JS跳轉 echo "<script>location......余下全文>>

 

php頁面使用框架問題

當父頁面刷新後,頁面上的 每個元素都會重新載入,包括父頁面上的 iframe元素,那麼自然 iframe的內嵌頁面也會重新載入刷新了,因為iframe的src屬性會重新載入一次。
其實你可以使用 ajax來定時更新 父頁面上的 一些特定信息,父頁面的iframe不要更新,而iframe的src不變,那麼子頁面就不刷新了。
 

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