如何運(yùn)用PHP變量php_self實(shí)現(xiàn)頁(yè)內(nèi)跳轉(zhuǎn)
我們也許對(duì)PHP變量php_self還不是非常的了解,不要緊,通過(guò)本文的介紹,大家肯定會(huì)對(duì)這一變量有一個(gè)深刻的認(rèn)知程度。php_self是php的內(nèi)置變量,記作$php_self,其作用是實(shí)現(xiàn)“頁(yè)內(nèi)跳轉(zhuǎn)”。#t#
這里的頁(yè)內(nèi)跳轉(zhuǎn)不同等于html的書(shū)簽之類的跳轉(zhuǎn),而是php程序通過(guò)URL的尾參數(shù)的改變?cè)谕粋€(gè)程序里提供不同的Web內(nèi)容。試比較以下兩個(gè)URL:
http://www.gxblk.com/pc/index.php
http://www.gxblk.com/pc/index.php?page=2
以上兩個(gè)URL,其區(qū)別是第二個(gè)URL地址多一個(gè)參數(shù)(?page=2),我們?cè)趯?shí)際打開(kāi)它們時(shí),在瀏覽器中得到的內(nèi)容是不一樣的,而點(diǎn)擊時(shí)它們?cè)谕豁?yè)內(nèi)跳轉(zhuǎn)。這是使用PHP變量php_self實(shí)現(xiàn)的,用戶編寫(xiě)的php程序?qū)⒏鶕?jù)index.php尾部參數(shù)的不同而生成不同的內(nèi)容,但都使用同一個(gè)網(wǎng)頁(yè)程序(index.php),故我們稱之為“頁(yè)內(nèi)跳轉(zhuǎn)”,實(shí)際上,它生成的已經(jīng)是另外一個(gè)Web文檔了。
從上面第二個(gè)URL地址我們已經(jīng)知道,內(nèi)置變量$php_self用問(wèn)號(hào)引導(dǎo)參數(shù),具體表示格式如下:
$php_self?變量名=值 (實(shí)例:$php_sefl?id=0)
問(wèn)號(hào)后面的變量名是自定義的,通常,根據(jù)需要命名為閱讀性強(qiáng)一些的英文名稱(可以是縮寫(xiě))。比如說(shuō),我們讓鏈接指向程序的某個(gè)功能塊是完成一次刪除操作,那么,我們可以命名為$del,體現(xiàn)在代碼里則是$php_self?del=值,如果點(diǎn)擊了該鏈接,程序就執(zhí)行刪除操作(當(dāng)然,刪除操作代碼得另外編寫(xiě)):
鏈接代碼:
- "< a href=\"$php_self?del=true\">
- 刪除選定內(nèi)容
- < /a>";
跳轉(zhuǎn)代碼:
- if($del=="true")
- {
- //這里是刪除代碼
- }
PHP變量php_self可以帶多個(gè)參數(shù),第一個(gè)參數(shù)使用問(wèn)題(?)引導(dǎo),后面的參數(shù)使用“與”號(hào)(&)引導(dǎo),格式和舉例如下:
【語(yǔ)法】$php_self?變量1=值&變量2=值&變量3=值
【例子】$php_self?user=blackhorse&id=write&page=0
原則上,$php_self的尾部參數(shù)書(shū)寫(xiě)時(shí)應(yīng)連在一起,但與號(hào)連接的變量可用空格或其他有效符號(hào)(如+號(hào))隔開(kāi)——有時(shí)我們的確需要將它們隔開(kāi),例如要想通過(guò)arv的驗(yàn)證,符號(hào)&會(huì)有些影響,隔開(kāi)后生成的html代碼才被arv所承認(rèn)。
PHP變量php_self是php的一個(gè)十分有用的內(nèi)置變量,通常用于分頁(yè)、執(zhí)行預(yù)定義操作等。它所帶的尾部參數(shù)中的各變量在php中使用$來(lái)讀取,如以下地址:
http://www.gxblk.com/pc/index.php?page=3
我們將這樣從以上地址讀取頁(yè)碼并顯示該頁(yè)面的內(nèi)容:
$conts=echo_conts($page);
echo_conts是一個(gè)自編函數(shù),它用于顯示每一頁(yè)的內(nèi)容,而變量$page的值是關(guān)鍵所在,它決定程序從庫(kù)文件中提取的內(nèi)容范圍。