php从入门到放弃系列-04.php页面间值传递和保持

php从入门到放弃系列-04.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 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送信息的量也有限制。

 1 <html>
 2 <head>
 3 <meta charset="utf-8">
 4 <title>get提交值</title>
 5 </head>
 6 <body>
 7
 8 <form action="getPage.php" method="get">
 9 名字: <input type="text" name="gName">
10 年龄: <input type="text" name="gAge">
11 <input type="submit" value="提交">
12 </form>
13
14 </body>
15 </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 进行更改)。

 1 <html>
 2 <head>
 3 <meta charset="utf-8">
 4 <title>post提交值</title>
 5 </head>
 6 <body>
 7
 8 <form action="postPage.php" method="post">
 9 名字: <input type="text" name="pName">
10 年龄: <input type="text" name="pAge">
11 <input type="submit" value="提交">
12 </form>
13
14 </body>
15 </html>

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

1 欢迎 <?php echo $_POST["pName"]; ?>!<br>
2 你的年龄是 <?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变量:

 1 <?php session_start();
 2 // 存储 session 数据
 3 $_SESSION[‘viewCount‘]=1;
 4 ?>
 5
 6 <html>
 7 <head>
 8 <meta charset="utf-8">
 9 <title>session保持数据值</title>
10 </head>
11 <body>
12
13 <?php
14 // 取出 session 数据
15 echo "浏览量:". $_SESSION[‘viewCount‘];
16 ?>
17
18 </body>
19 </html>

  2、cookie保存数据

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

   setcookie() 函数用于设置 cookie。

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

  语法如下

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

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

1 <?php
2 // 输出 cookie 值
3 echo $_COOKIE["user"];
4
5 // 查看所有 cookie
6 print_r($_COOKIE);
7 ?>

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

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

  ok,到此结束!

时间: 2024-12-08 02:39:03

php从入门到放弃系列-04.php页面间值传递和保持的相关文章

php从入门到放弃系列-03.php函数和面向对象

php从入门到放弃系列-03.php函数和面向对象 一.函数 php真正的威力源自它的函数,内置了1000个函数,可以参考PHP 参考手册. 自定义函数: 1 function functionName() 2 { 3 要执行的代码; 4 } 函数命名的准则: 函数的名称应该提示出它的功能 函数名称以字母或下划线开头(不能以数字开头) 二.面向对象 1.类基础语法: 1 <?php 2 class Site { 3 /* 成员变量 */ 4 var $url; 5 var $title; 6 7

[大数据从入门到放弃系列教程]第一个spark分析程序

文章施工中,由于部分网站会在我还没有写完就抓取到这篇文章,导致你看到的内容不完整,请点击这里: 或者复制访问 http://www.cnblogs.com/blog5277/p/8580007.html 来查看更完整的内容 [大数据从入门到放弃系列教程]第一个spark分析程序 原文链接:http://www.cnblogs.com/blog5277/p/8580007.html 原文作者:博客园--曲高终和寡 *********************分割线******************

JMETER_从入门到放弃系列

基础篇 Jmeter(一)环境部署 Jmeter(二)基础元件 Jmeter(三)配置元件 Jmeter(四)16个逻辑控制器 Jmeter(五)24个函数 Jmeter(六)前置处理器 进阶篇 Jmeter(七)IF控制器+循环控制器+计数器控制接口分支 Jmeter(八)JDBC请求 Jmeter(九)获取JDBC响应做接口关联 JMeter(十)正则表达式关联 Jmeter(十一)针对响应信息不明确的接口做关联 Jmeter(十二)打印时间戳 JMeter(十三)-代理服务器录制脚本 JM

CSS 从入门到放弃系列(一):CSS的引入方式

css的四种引入方式 内联方式(行间样式) <div style="width:100px;height: 100px; background-color: red"></div> 这通常是个很糟糕的书写方式,它只能改变当前标签的样式,如果想要多个<div>拥有相同的样式,你不得不重复地为每个<div>添加相同的样式,如果想要修改一种样式,又不得不修改所有的 style 中的代码.很显然,内联方式引入 CSS 代码会导致 HTML 代码变

ASP.NET WebApi 从入门到&quot;放弃&quot;系列---WebApi 请求路由

写在前面 上一篇,我已经写了如何快速的创建一个webapi项目.接下来,说一下webapi相关的路由请求吧. 我们来创建一个包含读/写操作的web api 2控制器. 我们仔细看这个初始的web api,我们会发现 1.在控制器的方法中,会默认一种格式的请求.而默认的则是Post请求. 2.在控制器的方法中,不会默认为Get请求.所以,需要请求数据时,需要加上前缀[HttpGet]. 3.在控制器的方法中,请求数据用Get请求,删除数据用Delete请求,添加数据用Post请求,编辑数据会用到P

春节学习之从入门到放弃学习 ~~~废材大学几年没学,从头开始系列01

大年初四,春雨绵绵,闲着在家实在没有什么事,这个年纪好多小伙伴都玩不起来啦,于是我想到了学习,学习,大概这个号忘了几年的密码,才想起来,发现还是特么学习好晚,好打发时间... 上午,一家人坐在沙发前,看江西卫视的天龙八部,记得第一次看时还是在小学的时候,那个时候可好看啦,要是现在看书有那个时候有劲就好啦...233 因为马上要找工作,以前看的数据结构,连概念都不知道啦,从头再来,从入门到放弃系列...从定义开始... 栈stack):只允许在一端进行插入或删除操作的线性表.首先栈是一种线性表,但

CYQ.Data 从入门到放弃ORM系列:开篇:自动化框架编程思维

前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括使用方式,及相关介绍,都容易引人误解. 为此,我打算重新写个系列来介绍最新的版本,让大伙从传统的ORM编程过渡到自动化框架型思维编程(自已造的词). 于是:这个新系列的名称就叫:CYQ.Data 从入门到放弃ORM系列 什么是:CYQ.Data 1:它是一个ORM框架. 2:它是一个数据层组件. 3

《Java从入门到放弃》文章目录

转眼半个月过去了,不知不觉也写了10篇博客,突然发现所有的目录都没有纯列表的展示,所以特意写一个目录篇,来记录该系列下所有的文章. 当然,因为现在还没有写完,所以先按时间顺序排列,等相关内容都写完后,再按学习顺序来整理. <Java从入门到放弃>入门篇:XMLHttpRequest的基本用法 <Java从入门到放弃>入门篇:Struts2的基本访问方 <Java从入门到放弃>入门篇:Struts2的基本访问方式(二) <Java从入门到放弃>入门篇:Stru

iOS 即时通讯,从入门到 “放弃”?

原文链接:http://www.jianshu.com/p/2dbb360886a8 本文会用实例的方式,将 iOS 各种 IM 的方案都简单的实现一遍.并且提供一些选型.实现细节以及优化的建议. —— 由宇朋Look分享 前言 本文会用实例的方式,将iOS各种IM的方案都简单的实现一遍.并且提供一些选型.实现细节以及优化的建议. 注:文中的所有的代码示例,在github中都有demo:iOS即时通讯,从入门到“放弃”?(demo)可以打开项目先预览效果,对照着进行阅读. 言归正传,首先我们来总