php (hypertext preprocessor)是一種 html 內嵌式的語言,也是目前比較流行的網頁程式語言。它支援的後端資料庫種類凡多,幾乎含蓋了當前的所有資料庫系統。同時它包含了一般語言有的數**算、時間處理、檔案系統、字串處理、行程處理等功能,再加上它是免費的系統,使得成本與效益比,幾乎等於無限大。
1、判斷某個函式是否被支援
由於在php中我們可以靈活的使用增加或者減少php支援的模組,所以有的時候我們在使用php之前,總是會首先確定某個模組是否被載入,比如,看看gd圖形模組是否被支援,可以用下面的這段**:
if(!function_exists('imagecreate'))
?>
同樣的道理,我們可以利用類似的**,測試 mssql,oci等模組是否被支援。
在網頁中提交表單時,經常在提交的說明文字中出現一些**,比如個人主頁等資訊,如果在顯示時自動將其轉為超級鏈結,那將是一件很愜意的事,就像用word編輯文件時自動出現超級鏈結一樣。下面這段**就很好的實現了其功能。
$string = "連線賽迪網http://www.ccidnet.com 站點";
//注意:連線後需要有個空格或回車。
3、用php處理多個同名核取方塊
如果乙個表單中有多個同名核取方塊,在提交到php時卻只有乙個值,而並不像asp那樣是一串用逗號分割的值。解決的方法是利用陣列。將核取方塊的name後面加上,例如:改為:。這樣php將得到乙個叫pp的陣列。在提交的表單中先用count(pp)來判斷陣列的個數即選中的個數,然後對陣列進行分別處理就行了。
同樣的道理也適應於處理下拉框的多選問題。
4、利用static實現**的顏色隔行顯示
我們用php從資料庫查詢資料,並將結果輸出到瀏覽器上,如果結果有很多行,**的bgcolor(背景色)如果全是單色的,瀏覽者會感覺不太舒服。那麼怎樣做使**各行的顏色不同呢?請看下面**:
function getcolor()
print("<table border=1>n");//下面輸出10行
for($i=0;$i<10;$i++)
print("</table>n");
?>
說明:此程式中定義了乙個靜態變數static $colorvalue意思是在函式呼叫結束後,此變數$colorvalue還保留值,沒有消失。當再次呼叫getcolor()函式時,變數$colorvalue的值是上次函式呼叫結束時$colorvalue的值。
5、在php中避免重複引用的辦法
大家知道,在c語言中,我們可以用#define來定義乙個macro名字,通過檢查是否該macro名字定義過來決定該標頭檔案是否被引用。在php中也有同樣的問題,比如:a引用b,c, b引用c,如果不採取措施,c將被引用2次。這樣可能會導致一些奇怪的問題。解決辦法:定義乙個全域性變數,並且通過檢查該變數是否定義過來解決這個問題. 辦法很簡單,類似c。 只是這個全域性變數我建議都用['user_packages'] ['headfilename']的命名規則。
if (!empty($globals['foodtails']['globaldefine'])) return;
$globals['foodtails']['globaldefine'] = true;
class foodtails ;
?>
另外,在主程式中盡量採用require_once "headfiles.php"; 以避免重複引用。
6、如何避免表單的重複提交
我們在做**時,常常為一些灌水文章而煩惱。有時,由於網路狀況等原因使用者不知道提交是否成功,也會再次提交同乙份表單,這就造成了表單的重複提交不起。有乙個簡單的方法可以避免同一表單的重複提交。首先,先定義乙個session變數用來儲存乙個表單的提交序列號。這裡我定義為「$userlastaction」。然後在表單裡加入乙個hidden 變數,把值設為$userlastaction+1:> 最後,在處理提交之前判斷表單是否已被提交過。
if($lastaction>$userlastaction)
?>
這個技巧的主要原理是不允許使用者回退後再次提交,也就是說回退後修改再提交也是不允許的,但是還是不能避免ctrl-c/ctrl-v的灌水辦法。
a、先建一資料表download (後端用mysql)
download表中含有下列兩個字段:
b、實現
五筆字體
//連線mysql資料庫**略
$res=mysql_query("update download set downnum=(downnum+1) where id='$id'" ,$db);
header("location:$filename");
?>
PHP程式設計常用技巧四則
php程式設計常用技巧四則 1.配置php檔案目錄 作為伺服器端解釋執行的指令碼語言,php程式放置在某個伺服器可以訪問的目錄下,一般可以通過修改apach e的httpd.conj進行配置,例如我們在該檔案中的一句 alias test d brhpwebsitebrhp 那麼在瀏覽器端輸入 ht...
PHP程式設計常用技巧四則
1.配置php 檔案目錄 作為伺服器端解釋執行的指令碼語言,php 程式放置在某個伺服器可以訪問的目錄下,一般可以通過修改apache的httpd.conj進行配置,例如我們在該檔案中的一句 alias test d phpwebsite php 那麼在瀏覽器端輸入 http localhost t...
Windows登錄檔應用技巧三則
1 防止登入 雖然windowwww.cppcns.coms 98可以為每個使用者定製各自的使用介面並指定口令,但任何人都能通過點選登入視窗中的 取消 或按esc鍵進入系統,即所謂匿名登入。下述方法可以防止登入 開啟登錄檔編輯器 執行regedit 在hkey local ma chine netw...