发博文
戀著多喜歡Rainbutterfly

http://blog.chinaunix.net/space.php?uid=8337682

   
个人资料
  • 博客访问:98116
  • 博文数量:40
  • 博客积分:1410
  • 博客等级:上尉
  • 注册时间:2006-12-01 15:30:05
订阅我的博客
  • 订阅
  • 订阅到鲜果
  • 订阅到抓虾
  • 订阅到Google
字体大小: 博文
PHP_SELF 应用初步 (2007-08-08 09:43)

php_self是php的内置变量,记作$php_self,其作用是实现“页内跳转”。这里的页内跳转不同等于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=值,如果点击了该链接,程序就执行删除操作(当然,删除操作代码得另 外编写):

链接代码:

print "<a href=\"$php_self?del=true\">删除选定内容</a>";

跳转代码:

if($del=="true") {
    //这里是删除代码
}

$php_self可以带多个参数,第一个参数使用问题(?)引导,后面的参数使用“与”号(&)引导,格式和举例如下:

【语法】$php_self?变量1=值&变量2=值&变量3=值

【例子】$php_self?user=blackhorse&id=write&page=0

原则上,$php_self的尾部参数书写时应连在一起,但与号连接的变量可用空格或其他有效符号(如+号)隔开——有时我们的确需要将它们隔开,例如要想通过arv的验证,符号&会有些影响,隔开后生成的html代码才被arv所承认。

$php_self是php的一个十分有用的内置变量,通常用于分页、执行预定义操作等。它所带的尾部参数中的各变量在php中使用$来读取,如以下地址:

http://www.gxblk.com/pc/index.php?page=3

我们将这样从以上地址读取页码并显示该页面的内容:

$conts=echo_conts($page);

echo_conts是一个自编函数,它用于显示每一页的内容,而变量$page的值是关键所在,它决定程序从库文件中提取的内容范围。

前一篇:预定义常量
[发评论] 评论 重要提示:警惕虚假中奖信息!
  • chinaunix网友 2010-05-19 23:01
    新手,讲的很清楚,多谢指教了。
  • chinaunix网友 2010-03-16 16:35
    WWW.MEETINGGUILIN.COM
  • chinaunix网友 2010-01-25 11:06
    现在建议用$_SERVER['PHP_SELLF']
  • chinaunix网友 2009-07-21 14:21
    学了一点
  • chinaunix网友 2009-07-21 14:20
    sdf
  • chinaunix网友 2009-07-05 16:33
    http://www.cnxz.cn http://bbs.17games.net
  • chinaunix网友 2009-07-05 16:33
    不错——————高手 http://www.cnxz.cn http://bbs.17games.net
  • chinaunix网友 2009-07-05 16:32
    不错,。。。好不容易找到了点信息上, 呵呵
  • chinaunix网友 2009-04-21 13:03
    不错,。。。好不容易找到了点信息上, 呵呵
亲,您还没有登录,请[登录][注册]后再进行评论