PHP页面间参数传递的四种方法详解


Posted in PHP onJune 09, 2013

我们定义page01.php和page02.php两个php文件,将page01中的内容想办法传递到page02,然后供我们继续使用。
--------------------------------------------------------------------------------
第一种:
使用客户端浏览器的cookie。cookie很容易理解,就是一个临时文件,可以把它看成一个储藏室,浏览器在浏览的过程中记录一些信息,就暂时存放在这里。
在page01中设置一个cookie。

<?php 
       setcookie('mycookie','自灵');
?>

就是这么简单,我们已经创建cookie完毕。
我们定义了一个变量mycookie,它的值是字符串'自灵'。
我们可以随便给cookie变量起名字,可以定义多个cookie变量。
在page02页面接受cookie。
<?php
     $wuziling = $_COOKIE['mycookie'];
     echo $wuziling;
?>

我们使用$_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里面讲到的】
--------------------------------------------------------------------------------
第三种:
使用表单来传递。
page01.php这样写:
<form action="page02.php" method="post">
     <input type="text" name="wuziling" />
     <input type="submit" name="submit" value="提交" />
</form>

表单内的属性action直接指定此表单内容传递到哪个页面。method指明了传递的方式。post代表使用消息传递,就像我们发短信一样。
page02.php这样写:
<?php 
     $wu = $_POST['wuziling'];
     echo $wu;
?>

用$_POST[ ]获取传递过来的变量值。这个变量名wuziling在表单的input标签的name属性里定义。
然后将其传递给另外一个变量$wu。这样我们就可以输出了。直接输出也是可以的,echo   $_POST['wuziling'];
【如果哪里不明白,请参考本版块的另外一个详细介绍表单提交的帖子】
【method的值也可以是get】
--------------------------------------------------------------------------------
第四种:
使用超链接传递参数。我们上网的很多操作都是点击超链接在网页之间跳来跳去。点的同时同样可以传递参数。
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的值,然后就可以输出或做其他用途。
这时的浏览器地址栏可以直接看到new变量和它的值。
PHP 相关文章推荐
PHP setcookie() cannot modify header information 的解决方法
Jan 09 PHP
ubuntu10.04配置 nginx+php-fpm模式的详解
Jun 03 PHP
跟我学Laravel之请求与输入
Oct 15 PHP
Thinkphp中数据按分类嵌套循环实现方法
Oct 30 PHP
PHP冒泡算法详解(递归实现)
Nov 10 PHP
php中cookie实现二级域名可访问操作的方法
Nov 11 PHP
php 删除cookie方法详解
Dec 01 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
Mar 19 PHP
表单提交错误后返回内容消失问题的解决方法(PHP网站)
Oct 20 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
Aug 21 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
Mar 31 PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 PHP
利用PHP+JS实现搜索自动提示(实例)
Jun 09 #PHP
深入php处理整数函数的详解
Jun 09 #PHP
解决ajax+php中文乱码的方法详解
Jun 09 #PHP
PHP写的加密函数,支持私人密钥(详细介绍)
Jun 09 #PHP
PHP版 汉字转码的实现详解
Jun 09 #PHP
php批量上传的实现代码
Jun 09 #PHP
PHP转换IP地址到真实地址的方法详解
Jun 09 #PHP
You might like
Windows下XDebug 手工配置与使用说明
2010/07/11 PHP
php自动获取目录下的模板的代码
2010/08/08 PHP
php构造函数实例讲解
2013/11/13 PHP
ThinkPHP后台首页index使用frameset时的注意事项分析
2014/08/22 PHP
PHP数组去重比较快的实现方式
2016/01/19 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
javascript alert乱码的解决方法
2013/11/05 Javascript
jquery获得同源iframe内body下标签的值的方法
2014/09/25 Javascript
Javascript表单验证要注意的事项
2014/09/29 Javascript
最简单的JavaScript图片轮播代码(两种方法)
2015/12/18 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
2016/05/26 Javascript
jQuery ajax中使用confirm,确认是否删除的简单实例
2016/06/17 Javascript
JS三目运算(三元运算)方法详解
2017/03/01 Javascript
jquery实现静态搜索功能(可输入搜索文字)
2017/03/28 jQuery
使用jQuery实现简单的tab框实例
2017/08/22 jQuery
vue使用技巧及vue项目中遇到的问题
2018/06/04 Javascript
解决vue的变量在settimeout内部效果失效的问题
2018/08/30 Javascript
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
2019/06/10 Javascript
微信小程序 bindtap 传参的实例代码
2020/02/21 Javascript
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
Vue2.x-使用防抖以及节流的示例
2021/03/02 Vue.js
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
从零学Python之引用和类属性的初步理解
2014/05/15 Python
Python中协程用法代码详解
2018/02/10 Python
python实现猜数字小游戏
2020/03/24 Python
python统计多维数组的行数和列数实例
2018/06/23 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
2018/07/02 Python
基于Tensorflow批量数据的输入实现方式
2020/02/05 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
python 使用多线程创建一个Buffer缓存器的实现思路
2020/07/02 Python
python读取excel进行遍历/xlrd模块操作
2020/07/12 Python
python自动生成sql语句的脚本
2021/02/24 Python
俄罗斯在线手表和珠宝商店:AllTime
2019/09/28 全球购物
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers
vue cli4中mockjs在dev环境和build环境的配置详情
2022/04/06 Vue.js