php页面传递参数值几种方法总结
2013-06-06 18:02 (分类:)
又搞了一个学期的php,就这样吧。
php是一种服务器的脚本语言,他也是现在最为流行的WEB开发语言,下面我们来讲述一下几种上在php开发应用中常用的四种页面之间传递参数的几种方法。
第一种:
使用客户端浏览器的cookie。cookie很容易理解,就是一个临时文件,可以把它看成一个储藏室,浏览器在浏览的过程中记录一些信息,就暂时存放在 这里。
在page01中设置一个cookie。
?php
setcookie("VisitTimes",$VisitTimes,time()+31536000);
?>
就是这么简单,我们已经创建cookie完毕。
我们定义了一个变量mycookie,它的值是字符串'自灵'。
我们可以随便给cookie变量起名字,可以定义多个cookie变量。
在page02页面接受cookie。
<?
$HTTP_COOKIE_VARS["VisitTimes"]?($VisitTimes ++):($VisitTimes = 1);
echo "<b>欢迎你第<font color="#FF0000"> ".$VisitTimes.
" </font>光临我的主页</b><br>n";
?>
| 代码如下 | 复制代码 |
我们使用$_COOKIE[]提取cookie中的变量mycookie,将它的值付给$wuziling。然后简单的输出。
好了,到这里使用cookie从页面之间传递参数完毕。
第二种:
使用服务器端的session。理解session是一件很容易的事情。与cookie的不同在于它是服务器端的临时储藏室。session常被称作会 话。
在page01中设置一个session。
<?php
session_start();
$_SESSION["temp"]=array('123','456','789');
?>
要想使用session,必须启动session。session_start();就是启动session的方法。一般要写在最前面。
第二个语句我定义了一个$_SESSION["temp"]数组,数组的名称是$_SESSION["temp"],里面存储了3个字符串。
在page02页面接受session。
<?php
session_start();
for($i=0;$i<3;$i++)
{
echo $_SESSION['temp'][$i].'<br />';
}
?>
首先启动会话。启动后我们在page01定义的变量已经可以使用了,不需要其他任何获取的操作,这里不同于cookie。
下面我们使用for循环将其内容输出。
【不要以为$_SESSION['temp'][$i]是一个二维数组,它是个一维数组,数组的名称是$_SESSION["temp"],虽然这个名称 比较繁琐,数组的下标是'temp'】
【我们在写$_SESSION["temp"]时,temp加双引号或者单引号都是等价的。】
【这里我们定义会话变量时定义的是数组,也可以定义普通变量,就像cookie里面讲到的】
第三种:
使用表单来传递。
_post它在php只能获取由表单的 method="post" 时它才能接受到数据,如下代码
<form id="form1" name="form1" method="get" action="">
<label>
<input type="text" name="cn" value='获取到我了' />
</label>
</form>a.php页面
<?
if( $_post )
{
echo $_post['cn'];
}
else
{
echo '没有获取到值';
}
?>
| 代码如下 | 复制代码 |
第四种:
使用超链接传递参数。我们上网的很多操作都是点击超链接在网页之间跳来跳去。点的同时同样可以传递参数。
page01.php这样写:
<?php
$var = 'I love you !';
?>
<a href="<?php echo "page02.php?new=".$var ?>">get</a>
| 代码如下 | 复制代码 |
定义一个变量$var。
超链接a的href属性里写明要跳转到page02页面。后面加一个问号,一个自己定义的变量new【此名称在page02页面要使用】,new的值就是 我们想传递的$var。
page02.php这样写:
<?php
echo $_GET['new'];
?>
| 代码如下 | 复制代码 |
使用$_GET[ ]获取new的值,然后就可以输出或做其他用途。
注释:http get 方法不适合大型的变量值;值是不能超过 100 个字符的。
$_request 变量
php 的 $_request 变量包含了 $_get, $_post 以及 $_cookie 的内容。
php 的 $_request 变量可用来取得通过 get 和 post 方法发送的表单数据的结果。
例子
welcome <?php echo $_request["name"]; ?>.<br />
you are <?php echo $_request["age"]; ?> years old!
总结:
我们上面讲述了页面传递参数有四种,session,cookie,post,get这四种方法,大概其它的编程语言也这么多了,post,get基本用于在表单和url传参,页cookie,session是把传保存在一个全局文件或变量中。
php页面传递参数值几种方法总结的更多相关文章
- React Router v4 页面传值的三种方法
传值方法 1.props.params 使用React router定义路由时,我们可以给指定一个path,然后指定通配符可以携带参数到指定的path: <Route path='/user/: ...
- YbSoftwareFactory 代码生成插件【二十五】:Razor视图中以全局方式调用后台方法输出页面代码的三种方法
上一篇介绍了 MVC中实现动态自定义路由 的实现,本篇将介绍Razor视图中以全局方式调用后台方法输出页面代码的三种方法. 框架最新的升级实现了一个页面部件功能,其实就是通过后台方法查询数据库内容,把 ...
- 用 CSS 隐藏页面元素的 5 种方法
原文链接:用 CSS 隐藏页面元素的 5 种方法,转载请注明来源! 用 CSS 隐藏页面元素有许多种方法.你可以将 opacity 设为 0.将 visibility 设为 hidden.将 disp ...
- CSS 隐藏页面元素的 几 种方法总结
用 CSS 隐藏页面元素有许多种方法.你可以将 opacity 设为 0.将 visibility 设为 hidden.将 display 设为 none 或者将 position 设为 absolu ...
- js刷新页面有哪几种方法
js刷新页面有哪几种方法 一.总结 一句话总结:location属性的reload方法即可:document.location.reload() 1.页面刷新有哪常见的8种方法? 1,history. ...
- 09 Flutter底部Tab切换保持页面状态的几种方法
IndexedStack:保此所有页面的状态: AutomaticKeepAliveClientMixin:保此部分页面的状态: 修改的页面代码: 页面效果: Tabs.dart import 'pa ...
- Python+Selenium自动化-定位页面元素的八种方法
Python+Selenium自动化-定位页面元素的八种方法 本篇文字主要学习selenium定位页面元素的集中方法,以百度首页为例子. 0.元素定位方法主要有: id定位:find_elemen ...
- ASP.NET页面之间数据传递的几种方法
1)Request.QueryString 在ASP时代,这个是较常用的方法,到了ASP.NET,好像用的人不多了,但是不管怎么说,这是一个没有过时,且很值得推荐的方法,因为不管是ASP还是ASP ...
- angular 4 router传递数据三种方法
1.在查询参数中传递数据 <a [routerLink]="['/product']" [queryParams]="{id:1,name:'dongian'}& ...
随机推荐
- [apue] 作为 daemon, 启动 Unix Domain Socket 侦听失败?
前段时间写一个传递文件句柄的小 demo,有 server 端.有 client 端,之间通过 Unix Domain Socket 通讯. 在普通模式下,双方可以正常建立连接,当server端作为d ...
- VirtualBox扩充磁盘&清空安装包
1.virtual box 扩充磁盘空间 D:\VirtualBox\VBoxManage.exe modifyhd "E:\virtual box\daisyyun\daisyyun.vd ...
- 机器学习回顾篇(15):集成学习之GDBT
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
- 【转】document.form.action,表单分向提交
document.form.action,表单分向提交,javascript提交表单 同一个表单可以根据用户的选择,提交给不同的后台处理程序.即,表单的分向提交.如,在编写论坛程序时,如果我们希望实现 ...
- 60 个让程序员崩溃的瞬间,太TM真实了
前方高能!笑死人不偿命系列~ 表演即将开始,吃东西的请停下来,不然你会后悔的 1. 公司实习生找 Bug 2. 在调试时,将断点设置在错误的位置 3. 当我有一个很棒的调试想法时 4. 偶然间看到自己 ...
- 20200102模拟赛 问题A 排列
先说句新年好哈哈哈 今年又是颓废的一年呢... (开始就满满负能量真好) 分析: 真是有趣的数学递推找规律问题呢... 考场上没想出来,然后n2^n的状压也想不到 索性20*20直接打表2333... ...
- SpringBoot_Web开发_定制错误数据
SpringBoot默认的错误处理机制 默认效果: 1).浏览器,返回一个默认的错误页面 2).如果是其他客户端,默认响应一个json数据 原理: 可以参照ErrorMvcAutoConfig ...
- SpringBoot简单实现登录功能
登陆 开发期间模板引擎页面修改以后,要实时生效 1).禁用模板引擎的缓存 # 禁用缓存 spring.thymeleaf.cache=false 2).页面修改完成以后ctrl+f9:重新编译: 登陆 ...
- java架构之路(多线程)原子操作,Atomic与Unsafe魔术类
这次不讲原理了,主要是一些应用方面的知识,和上几次的JUC并发编程的知识点更容易理解. 知识回顾: 上次主要说了Semaphore信号量的使用,就是一个票据的使用,我们举例了看3D电影拿3D眼镜的例子 ...
- Java 数据持久化系列之池化技术
在上一篇文章<Java 数据持久化系列之JDBC>中,我们了解到使用 JDBC 创建 Connection 可以执行对应的SQL,但是创建 Connection 会消耗很多资源,所以 Ja ...