PHP函数:PHP_SELF
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的更多相关文章
- 【PHP】详解 $_SERVER 函数中QUERY_STRING和REQUEST_URI、SCRIPT_NAME、PHP_SELF区别
实例:1.http://localhost/index.php/Home/Home/index.html $_SERVER['QUERY_STRING'] = ""; $_SERV ...
- $_SERVER["SCRIPT_NAME"]、$_SERVER["PHP_SELF"]、$_SERVER["QUERY_STRING"]、$_SERVER["REQUEST_URI"]
1.$_SERVER["SCRIPT_NAME"] 说明:包含当前脚本的路径 2.$_SERVER["PHP_SELF"] 说明:当前正在执行脚本的文件名 3. ...
- PHP获取当前url路径的函数及服务器变量:QUERY_STRING、REQUEST_URI、SCRIPT...
1,$_SERVER["QUERY_STRING"]说明:查询(query)的字符串 2,$_SERVER["REQUEST_URI"]说明:访问此页面所需的U ...
- php : 常用函数
常用函数: <?php /** * 获取客户端IP * @return [string] [description] */ function getClientIp() { $ip = NULL ...
- 【PHP】分页条函数封装
这两天在学习PHP 想做一个前端后台都包含的网站 看了一些视频发现大牛们都是将封装起来实现代码的重用性 本人技拙也写了个分页条函数的封装 分页条在用PHP网站开发中十分常用 通过封装代码来提高网站开发 ...
- php-长文章分页函数
<?php function ff_page($content,$page) { global $expert_id; $PageLength = 2000; //每页字数 $CLength = ...
- PHP的$_SERVER['PHP_SELF']造成的XSS漏洞攻击及其解决方案
$_SERVER['PHP_SELF']简介 $_SERVER['PHP_SELF'] 表示当前 PHP文件相对于网站根目录的位置地址,与 document root 相关. 假设我们有如下网址,$_ ...
- isset 和empty 两个函数的用法
关于用php 获取当前脚本的url很多朋友会说很简单,但是要获取很详细的就要经过多次判断哦. $PHP_TIME = time();$PHP_SELF = isset($_SERVER['PHP_SE ...
- ThinkPHP 3.2.3 自动加载公共函数文件的方法
方法一.加载默认的公共函数文件 在 ThinkPHP 3.2.3 中,默认的公共函数文件位于公共模块 ./Application/Common 下,访问所有的模块之前都会首先加载公共模块下面的配置文件 ...
随机推荐
- jquery 移除数组重复的元素----$.unique()
举例说明: var fruits=["apple","banana","pear","orange","ba ...
- 安装cocoaPod 的问题
APPLEdeiMac:cocoapod案例 apple$ pod install Analyzing dependencies [!] The dependency `Reachability (~ ...
- 使用Gulp构建本地开发Web服务器
前端模拟ajax,就需要配置web服务器(apache,iis,nginx),有点麻烦 代码有一点点修改,就需要F5刷新页面很麻烦 Gulp + Gulp-connect + watch + live ...
- 实现基于Memcache存储的Session类
自主实现Session功能的类,基于文件方式存储Session数据,测试基本通过,还比较好玩,实际应用没有意义,只不过是学习Session是如何实现的. 使用基于文件的Session存取瓶颈可能都是在 ...
- Savelog项目总结回忆
Savelog项目的细节已经不太记得,感觉有些遥远,需要翻回旧的笔记本电脑或者是旧的笔记本. 概述: 本项目采用的Linux C,监听一个或多个特殊的端口,当其中一个端口有发起连接时就产生一个新的线程 ...
- C#中class的访问级别
中午吃饭前,同事问了一个问题:class 前面不加public访问修饰符时的默认访问级别是什么? 当时脑海自然而然的闪过了private 级别,但是细想感觉不对,class 是在namespace之下 ...
- 从网页psd到html的开发
从网上下载了一张psd的网页设计稿,初学html+css,所以记录一下我的学习过程.原图是这个样子: 原图 ...
- php基础知识【函数】(1)数组array
一.排序 1.sort -- 从最低到最高排序,删除原有的键名,赋予新的键名[字母比数字高] 2.rsort -- 逆向排序(最高到最低),删除原有的键名,赋予新的键名[字母比数字高] 3.asort ...
- PHP substr截取中文字符出现乱码的问题解疑
我们在使用PHP substr截取中文字符的时候,经常会出现乱码的情况,导致程序无法正常运行,这时怎么引起的呢?通过分析,我们知道,主要是substr可能硬生生的将一个中文字符“锯”成两半.解决办法: ...
- ng-html 报 不安全 警告解决办法
app.filter('to_trusted',['$sce',function($sce){ return function(text){ return $sce.trustAsHtml(text) ...