我們也許對
這裡的頁內跳轉不同等於html的書簽之類的跳轉,而是php程序通過URL的尾參數的改變在同一個程序裡提供不同的Web內容。試比較以下兩個URL:
http://www.gxblk.com/pc/index.php
http://www.gxblk.com/pc/index.php?page=2
以上兩個URL,其區別是第二個URL地址多一個參數(?page=2),我們在實際打開它們時,在浏覽器中得到的內容是不一樣的,而點擊時它們在同一頁內跳轉。這是使用PHP變量php_self實現的,用戶編寫的php程序將根據index.php尾部參數的不同而生成不同的內容,但都使用同一個網頁程序(index.php),故我們稱之為“頁內跳轉”,實際上,它生成的已經是另外一個Web文檔了。
從上面第二個URL地址我們已經知道,內置變量$php_self用問號引導參數,具體表示格式如下:
$php_self?變量名=值 (實例:$php_sefl?id=0)
問號後面的變量名是自定義的,通常,根據需要命名為閱讀性強一些的英文名稱(可以是縮寫)。比如說,我們讓鏈接指向程序的某個功能塊是完成一次刪除操作,那麼,我們可以命名為$del,體現在代碼裡則是$php_self?del=值,如果點擊了該鏈接,程序就執行刪除操作(當然,刪除操作代碼得另外編寫):
鏈接代碼:
- "< a href="$php_self?del=true">
- 刪除選定內容
- < /a>";
跳轉代碼:
- if($del=="true")
- {
- //這裡是刪除代碼
- }
PHP變量php_self可以帶多個參數,第一個參數使用問題(?)引導,後面的參數使用“與”號(&)引導,格式和舉例如下:
【語法】$php_self?變量1=值&變量2=值&變量3=值
【例子】$php_self?user=blackhorse&id=write&page=0
原則上,$php_self的尾部參數書寫時應連在一起,但與號連接的變量可用空格或其他有效符號(如+號)隔開——有時我們的確需要將它們隔開,例如要想通過arv的驗證,符號&會有些影響,隔開後生成的html代碼才被arv所承認。
PHP變量php_self是php的一個十分有用的內置變量,通常用於分頁、執行預定義操作等。它所帶的尾部參數中的各變量在php中使用$來讀取,如以下地址:
http://www.gxblk.com/pc/index.php?page=3
我們將這樣從以上地址讀取頁碼並顯示該頁面的內容:
$conts=echo_conts($page);
echo_conts是一個自編函數,它用於顯示每一頁的內容,而變量$page的值是關鍵所在,它決定程序從庫文件中提取的內容范圍。