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 "<ahref=\"$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的值是关键所在,它决定程序从库文件中提取的内容范围。

PHP函数:PHP_SELF的更多相关文章

  1. 【PHP】详解 $_SERVER 函数中QUERY_STRING和REQUEST_URI、SCRIPT_NAME、PHP_SELF区别

    实例:1.http://localhost/index.php/Home/Home/index.html $_SERVER['QUERY_STRING'] = ""; $_SERV ...

  2. $_SERVER["SCRIPT_NAME"]、$_SERVER["PHP_SELF"]、$_SERVER["QUERY_STRING"]、$_SERVER["REQUEST_URI"]

    1.$_SERVER["SCRIPT_NAME"] 说明:包含当前脚本的路径 2.$_SERVER["PHP_SELF"] 说明:当前正在执行脚本的文件名 3. ...

  3. PHP获取当前url路径的函数及服务器变量:QUERY_STRING、REQUEST_URI、SCRIPT...

    1,$_SERVER["QUERY_STRING"]说明:查询(query)的字符串 2,$_SERVER["REQUEST_URI"]说明:访问此页面所需的U ...

  4. php : 常用函数

    常用函数: <?php /** * 获取客户端IP * @return [string] [description] */ function getClientIp() { $ip = NULL ...

  5. 【PHP】分页条函数封装

    这两天在学习PHP 想做一个前端后台都包含的网站 看了一些视频发现大牛们都是将封装起来实现代码的重用性 本人技拙也写了个分页条函数的封装 分页条在用PHP网站开发中十分常用 通过封装代码来提高网站开发 ...

  6. php-长文章分页函数

    <?php function ff_page($content,$page) { global $expert_id; $PageLength = 2000; //每页字数 $CLength = ...

  7. PHP的$_SERVER['PHP_SELF']造成的XSS漏洞攻击及其解决方案

    $_SERVER['PHP_SELF']简介 $_SERVER['PHP_SELF'] 表示当前 PHP文件相对于网站根目录的位置地址,与 document root 相关. 假设我们有如下网址,$_ ...

  8. isset 和empty 两个函数的用法

    关于用php 获取当前脚本的url很多朋友会说很简单,但是要获取很详细的就要经过多次判断哦. $PHP_TIME = time();$PHP_SELF = isset($_SERVER['PHP_SE ...

  9. ThinkPHP 3.2.3 自动加载公共函数文件的方法

    方法一.加载默认的公共函数文件 在 ThinkPHP 3.2.3 中,默认的公共函数文件位于公共模块 ./Application/Common 下,访问所有的模块之前都会首先加载公共模块下面的配置文件 ...

随机推荐

  1. struts通过Ajax返回数据时,例如对象类型,没有执行Ajax的回调函数

    <result type="json"  name="success">                 <param name=" ...

  2. Mybatis的学习总结:mybatis的入门介绍

    一.myBatis简述 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...

  3. HTML网页图片滚动代码

    <!--下面是向上滚动代码--> <div id=butong_net_top style=overflow:hidden;height:100;width:90;> < ...

  4. PAT_1018 锤子剪刀布

    问题描述 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. 输入格式: 输入第1行给出 ...

  5. HDU2035 人见人爱A^B(快速幂)

    描述: 求A^B的最后三位数表示的整数.说明:A^B的含义是“A的B次方”. 输入: 输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A ...

  6. cmd 进入不同的驱动盘及上下级目录

    “开始”=>“运行”,输入”cmd“,此时进入的是系统管理员的等待命令 如果想进入相应的盘符,如 d 盘,则输入 cd d:\,然后再次输入 d: 即可进入 d: 盘,输入两次相当于第二在是询问 ...

  7. js&&node set_cookie、get_cookie

    js: function set_cookie(key, val,now){ var exdate = new Date(now); exdate.setDate(exdate.getDate() + ...

  8. 手写JS无缝滚动插件

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  9. System.Reflection.Assembly.GetEntryAssembly()获取的为当前已加载的程序集

    今天在使用System.Reflection.Assembly.GetEntryAssembly()获取程序集时,发现获取的程序集不全.原来是因为C#的程序集为延迟加载,此方法只获取当前已加载的,未加 ...

  10. java程序编译

    Empoyee.java package Company; public class Empoyee { String name = ""; public Empoyee(Stri ...