PHP页面间传递值和保持值的方法


Posted in PHP onAugust 24, 2016

一、目录结构

PHP页面间传递值和保持值的方法

二、两次页面间传递值

在两次页面之间传递少量数据,可以使用get提交,也可以使用post提交,二者的区别恕不赘述。

1、get提交

使用get提交来传递数据,在链接地址中修改发送到服务器的 URL 如下所示http://www.cnblogs.com/MarkRao/p/php01.html?gName=mark&gAge=26,当然也可以在表单中设置method="get",php中接收get提交过来的数据值,使用预定义$_GET变量

从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送信息的量也有限制。

<html>
<head>
<meta charset="utf-8">
<title>get提交值</title>
</head>
<body>
<form action="getPage.php" method="get">
名字: <input type="text" name="gName">
年龄: <input type="text" name="gAge">
<input type="submit" value="提交">
</form>
</body>
</html>

"getPage.php" 文件现在可以通过 $_GET 变量来收集表单数据了(请注意,表单域的名称会自动成为 $_GET 数组中的键):

1 欢迎 <?php echo $_GET["gName"]; ?>!<br>
2 你的年龄是 <?php echo $_GET["gAge"]; ?> 岁。

2、post提交

使用post提交来传递数据,在表单中设置method="post",php中接收post提交的数据值,使用预定义$_POST变量

从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。

注释:然而,默认情况下,POST 方法的发送信息的量最大值为 8 MB(可通过设置 php.ini 文件中的 post_max_size 进行更改)。

<html>
<head>
<meta charset="utf-8">
<title>post提交值</title>
</head>
<body>
<form action="postPage.php" method="post">
名字: <input type="text" name="pName">
年龄: <input type="text" name="pAge">
<input type="submit" value="提交">
</form>
</body>
</html>

"postPage.php" 文件现在可以通过 $_POST 变量来收集表单数据了(请注意,表单域的名称会自动成为 $_POST 数组中的键):

欢迎 <?php echo $_POST["pName"]; ?>!<br>
你的年龄是 <?php echo $_POST["pAge"]; ?> 岁。

三、多个页面之间保持值

在多个页面之间保持数据,可以使用session保存,也可以使用cookie保存,二者的区别恕不赘述。

1、session保存数据

PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。Session 变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的。Session 的工作机制是:为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,或者通过 URL 进行传导。

在您把用户信息存储到 PHP session 中之前,首先必须启动会话。

注释:session_start() 函数必须位于 <html> 标签之前:

存储和取回 session 变量的正确方法是使用 PHP的$_SESSION变量:

<?php session_start();
// 存储 session 数据
$_SESSION['viewCount']=1; 
?>
<html>
<head>
<meta charset="utf-8">
<title>session保持数据值</title>
</head>
<body>
<?php
// 取出 session 数据
echo "浏览量:". $_SESSION['viewCount'];
?>
</body>
</html>

2、cookie保存数据

cookie 常用于识别用户。cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。

  setcookie() 函数用于设置 cookie。

注释:setcookie() 函数必须位于 <html> 标签之前。

语法如下

//name存储的键名
//value存储的键值
//expire存储的超时时间
//path存储的位置
//domain存储区别的域名
setcookie(name, value, expire, path, domain);

$_COOKIE 变量用于取回 cookie 的值。

<?php
// 输出 cookie 值
echo $_COOKIE["user"]; 
// 查看所有 cookie
print_r($_COOKIE);
?>

当删除 cookie 时,您应当使过期日期变更为过去的时间点:

<?php
// 设置 cookie 过期时间为过去 1 小时
setcookie("user", "", time()-3600);
?>

以上所述是小编给大家介绍的PHP页面间传递值和保持值的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
Php部分常见问题总结
Oct 09 PHP
php xml-rpc远程调用
Dec 19 PHP
php 大数据量及海量数据处理算法总结
May 07 PHP
利用PHP实现智能文件类型检测的实现代码
Aug 02 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
Jun 18 PHP
简单的php缓存类分享     php缓存机制
Jan 22 PHP
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
Apr 24 PHP
smarty简单分页的实现方法
Oct 27 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
Aug 25 PHP
PHP长网址与短网址的实现方法
Oct 13 PHP
PHP addslashes()函数讲解
Feb 03 PHP
php的无刷新操作实现方法分析
Feb 28 PHP
PHP中explode函数和split函数的区别小结
Aug 24 #PHP
php处理单文件、多文件上传代码分享
Aug 24 #PHP
PHP简单创建压缩图的方法
Aug 24 #PHP
php利用header函数下载各种文件
Aug 24 #PHP
php强制下载文件函数
Aug 24 #PHP
PHP简单实现数字分页功能示例
Aug 24 #PHP
PHP自定义函数获取URL中一级域名的方法
Aug 23 #PHP
You might like
PHP+HTML+JavaScript+Css实现简单爬虫开发
2016/03/28 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
取得窗口大小 兼容所有浏览器的js代码
2011/08/09 Javascript
JQuery中使用.each()遍历元素学习笔记
2014/11/08 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
2015/03/04 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
跟我学习javascript的函数调用和构造函数调用
2015/11/16 Javascript
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
2017/05/08 jQuery
jQuery复合事件用法示例
2017/06/10 jQuery
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
2017/10/25 Javascript
解决iview打包时UglifyJs报错的问题
2018/03/07 Javascript
Vue手把手教你撸一个 beforeEnter 钩子函数
2018/04/24 Javascript
vue生成token并保存到本地存储中
2018/07/17 Javascript
自定义Vue中的v-module双向绑定的实现
2019/04/17 Javascript
JQuery属性操作与循环用法示例
2019/05/15 jQuery
node.js处理前端提交的GET请求
2019/08/30 Javascript
jquery轻量级数字动画插件countUp.js使用详解
2019/10/17 jQuery
Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析
2019/12/20 Javascript
vant组件中 dialog的确认按钮的回调事件操作
2020/11/04 Javascript
[04:09]显微镜下的DOTA2第十二期—NaVi美如画的团战
2014/06/23 DOTA
[47:02]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS paiN
2018/03/30 DOTA
django 发送手机验证码的示例代码
2018/04/25 Python
django 解决manage.py migrate无效的问题
2018/05/27 Python
用python写PDF转换器的实现
2020/10/29 Python
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
德国化妆品和天然化妆品网上商店:kosmetikfuchs.de
2017/06/09 全球购物
教学大赛获奖感言
2014/01/15 职场文书
2015年青年志愿者工作总结
2015/05/20 职场文书
中学校园广播稿
2015/08/18 职场文书
Netty结合Protobuf进行编解码的方法
2021/06/26 Java/Android
使用Redis做预定库存缓存功能
2022/04/02 Redis